繁体   English   中英

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

[英]Generating a sql query in php using for loop

代码:

 $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]."%' ";

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM