我正在尝试创建一个简单的搜索脚本。
所以我写了以下内容:
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
.
2条答案
按热度按时间zbdgwd5y1#
你需要括号:
由于操作顺序规则,您当前的
WHERE
条款解释如下:也就是说
title
字段必须匹配通配符表达式才能返回任何内容。顺便说一下,如果你想匹配字面意思
test
在这些字段中,然后考虑使用REGEXP
有词界:kyks70gy2#
您需要在括号内应用or子句