簡體   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