php - 大型 MySql 查询中的错误

标签 php mysql syntax-error

我正在尝试使用以下 MySql 查询,但它在第 3 行的“WHERE FIND_IN_SET('query', Alternate_name)”处返回语法错误。我尝试使用谷歌搜索并查看 MySql 手册,但是我似乎无法找到修复方法。

查询:

SELECT name, 'Events' as source FROM feed_events WHERE name LIKE '".$query."%' UNION ALL    
SELECT name, 'Venues' as source FROM feed_venues WHERE name LIKE '".$query."%' UNION ALL
SELECT name, 'Locations' as source FROM feed_locations WHERE name LIKE '".$query."%' OR WHERE FIND_IN_SET('".$query."', Alternate_name)

在出现问题的 select 语句中,我试图选择最适合用户输入的字符串的城市名称 ($query)。第一列是城市名称,第二列是该城市的替代名称的逗号分隔列表。 find_in_set() 应该搜索该列中的项目以找到最佳匹配项。有没有办法修复这个语法错误,或者 find_in_set() 不是我想要做的事情的理想选择?

最佳答案

您不需要第二个 WHERE 关键字。你可以像这样在 OR 中包含 2 个东西

WHERE expression1 OR expression2

例如:

WHERE field = '1' OR field = '2'

关于php - 大型 MySql 查询中的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6562718/

相关文章:

php - 当 SQL 查询中包含括号时,为什么 CodeIgniter 不会返回结果?

javascript - 如何将 json_encode 返回的对象转换为 javascript 变量

mysql - 这个 INSERT MAX+1 查询有什么问题?

php - PHP 使用的美国时区列表?

mysql - 如何在 MySQL Workbench 中建立一对零或多对关系?

php - 获取要删除的 Mysql 重复行的 ID

mysql - 如何创建MySQL分层递归查询

android - 如何克服这个错误?

python - 如何在不使用 IDE 且不了解程序流程的情况下调试应用程序?

php - 在 PHP 中拼合 PDF?