我正在尝试创建一个简单的搜索脚本。
所以我写了以下内容:
SELECT *
FROM snm_content
WHERE
state = 1 AND
`catid` NOT IN ('15', '23') AND
`title` LIKE '%test%' OR `introtext` LIKE '%test%' OR `fulltext` LIKE '%test%'
第一次检查 WHERE state = 1
失败,我得到状态为 -2
的结果。怎么可能?
这是我在 PHPmyadmin 中使用查询时的结果:
当明确编写 state
需要是 1
时,我如何仍然得到那个结果。
最佳答案
您需要在括号内应用您的 OR 子句
SELECT * FROM snm_content WHERE state = 1 AND `catid` NOT IN ('15', '23') AND
(`title` LIKE '%test%' OR `introtext` LIKE '%test%' OR `fulltext` LIKE '%test%')
关于mysql - 为什么我从这个 SQL 查询中得到错误的结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53187883/