我的搜索方法有问题,我正在使用MATCH AGAINST,因为它比LIKE更好。例如,我有一个充满城市的数据库,当我在输入字段中键入城市名称(例如莫斯科)时,'where子句'中出现错误“未知列'莫斯科'”。我的数据库中有两列,city_id和city_name
我的sql查询看起来像这样
"SELECT city_name FROM default_cities WHERE MATCH(city_name) AGAINST($city)"
如果有人有任何建议,我将不胜感激:)
答案 0 :(得分:2)
如果您发布了完整的代码,我们就可以告诉您需要针对$city
添加单引号。你应该使用准备好的陈述。我也会想到你正在使用mysql_
函数。这些已弃用,您应该使用PDO
或mysqli_
答案 1 :(得分:2)
"SELECT city_name FROM default_cities WHERE MATCH(city_name) AGAINST('$city')"
使用 $ city
的引号修改强>
别忘了逃避它。 (例如“l'amour”)