php - 使用for循环在php中生成sql查询

标签 php mysql

代码:

 $nerd_result = mysql_query("select * from nerd_profile where nerd_reg_no = '$reg_no'");
$nerd_data = mysql_fetch_array($nerd_result);
$tags = array();
$tags = explode(",",$nerd_data['nerd_interests']);
for($i = 0; $i < sizeof($tags)-1; $i++)
{
    if($i != sizeof($tags)-2)
    {
    $sub_query = $sub_query."`tags` like %".$tags[$i]."% or "; 
    }
    else 
    {
        $sub_query = $sub_query."`tags` like %".$tags[$i]."% ";
    }
}



 $proper_query = "select * from `qas_posts` where ".$sub_query." and `post_date` like '%$today%'";
 $result = mysql_query($proper_query);
 while($each_qas = mysql_fetch_array($result))

描述:

我将 like 子句与 php 变量一起添加到字符串中,并将其与带有 like 子句的其他变量连接起来。最后,当我回显时,我得到了我想要的完美查询,但是

mysql_fetch_array() 

不接受生成的查询,而不是如果我对其进行硬编码,它就可以完美工作,我做错了什么?我可以这样做吗??

最佳答案

在 mysql 中进行字符串比较时,您需要确保比较值周围有引号。

$sub_query = $sub_query."`tags` like '%".$tags[$i]."%' or ";

$sub_query = $sub_query."`tags` like '%".$tags[$i]."%' ";

关于php - 使用for循环在php中生成sql查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25775410/

相关文章:

php - 从mysql中的表中选择一个值

PHP+MySQL+插入查询

mysql - 退出 MySQL 而不在 El Capitan 上重新启动

php - 显示一对多数组

PHP 对象运算符优先级 (->)

MySQL 返回每天的最后一个值

mysql - CONCAT_WS 分隔符

mysql - mysql中的GROUP BY特性

PHP 和 MYSQL - (mysqli_num_rows) 始终等于 0

php - 禁用购物车页面,但在 Woocommerce 中保留结帐页面