Mysql 查询不匹配多个条件
本以为这个MySQL查询正在运行并返回结果,但事实并非如此 忽略位:where published='1'部分并显示所有结果 不管发布的价值是什么 我认为这与在某些数据位上加括号有关 但是,我们已经尝试了各种方法,似乎无法获得 没错 以下是我目前的查询方式:Mysql 查询不匹配多个条件,mysql,sql,Mysql,Sql,本以为这个MySQL查询正在运行并返回结果,但事实并非如此 忽略位:where published='1'部分并显示所有结果 不管发布的价值是什么 我认为这与在某些数据位上加括号有关 但是,我们已经尝试了各种方法,似乎无法获得 没错 以下是我目前的查询方式: SELECT * FROM news WHERE published='1' AND title LIKE '%$q%' OR details LIKE '%$q%' ORDER BY id DESC 感谢您的帮助 应使
SELECT *
FROM news
WHERE published='1'
AND title LIKE '%$q%'
OR details LIKE '%$q%'
ORDER BY id DESC
感谢您的帮助 应使用显式括号:
SELECT *
FROM news
WHERE published='1'
AND (title LIKE '%$q%' OR details LIKE '%$q%')
ORDER BY id DESC
在使用隐式括号的示例中,其工作原理如下:
WHERE (published='1' AND title LIKE '%$q%')
OR details LIKE '%$q%'
因为and的评估优先级高于or。非常感谢您的解释,非常感谢!我想我已经试过了,但显然不是现在应该做的——道歉是有道理的