我的查询中的mySQL语法错误

时间:2016-04-02 05:58:05

标签: php mysql sql

我的查询中出现mysql语法错误。几个小时都找不到问题。我在哪里弄错了?

mysql_query("SELECT * FROM uyeler where basresvar='evet' AND 
cinsiyet='".$gender."' AND kesfetgoster='evet' AND id NOT IN (".$hepsi.") 
ORDER BY FIELD (kesfetbegendikleri, '".$be."') > 0, ulke = '".$ulke."', id 
DESC limit 10")

错误

  

您的SQL语法有错误;查看与您的MariaDB服务器版本对应的手册,以便在#199; 199)ORDER BY FIELD(kesfetbegendikleri,',202,')>附近使用正确的语法。 0,ulke ='土耳其',id DESC'在第1行

1 个答案:

答案 0 :(得分:0)

正如评论中所讨论的,$hepsi的值(198,201,199)中的逗号是问题所在。因此,如果您使用现有数组中的implode创建该字符串,则可以使用array_filter删除空数组元素,如下所示:

$hepsi = implode(',' array_filter($your_array));

如果$ hepsi已经是现有字符串,那么只需explode,再次应用array_filterimplode。像这样:

$hepsi = implode(',', array_filter(explode(',', $hepsi)));