我刚来这里。
我想问一下我的后续SQL是否正确以及我在哪里做错了?
这是我的php文件中的SQL
$sql = "SELECT * FROM tblAlumni WHERE fname LIKE '%$search_file%' or mname LIKE '%$search_file%' or lname LIKE '%$search_file%' AND alum_status LIKE 2"
它没有任何错误,但它没有显示正确的数据。
这是我的表
结果如果我搜索或查询它是
Click here 感谢您将来的答案。
答案 0 :(得分:4)
您的查询将按此执行
SELECT *
FROM tblAlumni
WHERE fname LIKE '%$search_file%'
OR mname LIKE '%$search_file%'
OR ( lname LIKE '%$search_file%'
AND alum_status LIKE 2 )
因为AND
的优先级高于OR
。括号对于执行Where
子句
SELECT *
FROM tblAlumni
WHERE ( fname LIKE '%$search_file%'
OR mname LIKE '%$search_file%'
OR lname LIKE '%$search_file%' )
AND alum_status = 2
当您正在寻找完全匹配时,请使用=
代替LIKE
更新:
SELECT *
FROM tblAlumni
WHERE ( fname LIKE '%$search_file%'
OR mname LIKE '%$search_file%'
OR lname LIKE '%$search_file%' )
AND alum_status LIKE 2
AND yeargrad LIKE '$year'