我有这个搜索函数,它有两列。“搜索”按钮正在工作,但它包含隐藏的列。如何修复SQL?这是我的SQL:
SELECT app_keyword.id, app_keyword.visibility,app_keyword.keyword,application_table.app_name
FROM appwarehouse.APP_KEYWORD
INNER JOIN application_table
ON application_table.id = app_keyword.app_id
WHERE app_name like '%$search%' OR keyword like '%$search%'
AND app_keyword.VISIBILITY != 'hidden';"它会继续显示隐藏的列。我该如何解决这个问题?
发布于 2014-05-25 11:52:46
该问题是由于逻辑运算符的优先级(AND优先于OR)造成的。尝试以下操作:
WHERE (app_name LIKE '%$search%'
OR keyword LIKE '%$search%')
AND app_keyword.VISIBILITY != 'hidden'在您的查询中,它被执行为
WHERE app_name LIKE '%$search%'
OR (keyword LIKE '%$search%'
AND app_keyword.VISIBILITY != 'hidden')https://stackoverflow.com/questions/23851830
复制相似问题