请在我的查询中提供建议,该查询不会出现错误。按名称搜索时,如果表中的Active = 0,则不返回该行。
但是,如果我按郊区搜索,尽管表中的Active = 0,仍返回该行。我试过不喜欢,但结果相同。这是WHERE子句在整个查询上运行的最佳解决方案。
(建议更正)
SELECT *
FROM table name
WHERE Active = 1
AND (name LIKE '%$searchq%'
OR town LIKE '%$searchq%'
OR Keyword LIKE '%$searchq%'
)
答案 0 :(得分:0)
请尝试在不超过两次的情况下使用括号:
SELECT * FROM table
WHERE
(Name LIKE '%$searchq%' OR Town LIKE '%$searchq%' OR Suburb LIKE '%$searchq%' OR Keyword LIKE '%$searchq%')
AND Active = 1
建议:
答案 1 :(得分:0)
您在那里有一个额外的位置,并且可能(尽管我不这么认为?)是优先事项:
SELECT * FROM table WHERE Active = '1' " AND ( Name LIKE '%$searchq%' OR Town LIKE '%$searchq%' OR Suburb LIKE '%$searchq%' OR Keyword' LIKE '%$searchq%' );
答案 2 :(得分:0)
查询中有一些错误。您应该纠正它
getter
您不会在两个地方输入单词。