簡體   English   中英

SQL QUERY在WHERE語句中使用OR返回所有結果

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM