[英]SQL QUERY returning all results using OR in WHERE statement
希望我在這里遺漏一些簡單的東西:
$sql = "Select * FROM user_info, user_login WHERE user_login.status = '0' OR user_login.status = '2' AND user_info.uid = user_login.uid";
$db = new connection();
$results = $db->query($sql);
$user = array();
while($info = mysql_fetch_array($results))
{
$user[] = $info;
}
$total = count($user);
//TEST the amount of rows returned.
echo $total;
for ($i = 0; $i < $total; $i++)
{
//echo data;
}
只是嘗試將user_login.status字段設置為“0”或“2”的所有數據拉出來,但它顯示了所有內容,並顯示標記為2的項目兩次。 有誰看到我的問題?
由於缺少括號,您的優先權受到了打擊:
SELECT DISTINCT *
FROM user_info, user_login
WHERE (user_login.status = '0' OR user_login.status = '2')
AND user_info.uid = user_login.uid
在沒有看到數據的情況下,我不能給出關於重復記錄的SELECT DISTINCT
。
選擇* FROM user_info,user_login WHERE(user_login.status ='0'或user_login.status ='2')AND user_info.uid = user_login.uid
優先順序 :)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.