2012-12-31 70 views
0

我有編碼該位,可能有人請幫助我,使查詢正確的,我想我有,但我剛剛收到查詢錯誤
原始代碼:查詢不等於多個值

$q=$db->query("SELECT u.*,g.* FROM users u LEFT JOIN gangs g ON g.gangID=u.gang WHERE u.user_level != 2 $myf ORDER BY level DESC,userid ASC LIMIT 20"); 

我的失敗編輯代碼:

$q=$db->query("SELECT u.*,g.* FROM users u LEFT JOIN gangs g ON g.gangID=u.gang WHERE u.user_level != 2 || WHERE u.user_level !=0 $myf ORDER BY level DESC,userid ASC LIMIT 20"); 

回答

1

使用此

$q=$db->query("SELECT u.*,g.* FROM users u LEFT JOIN gangs g ON g.gangID=u.gang WHERE u.user_level != 2 || u.user_level !=0 $myf ORDER BY level DESC,userid ASC LIMIT 20"); 

ÿ OU不能放兩個where子句

FYI:http://dev.mysql.com/doc/refman/5.0/en//select.html

+0

感謝您的提示答案:d –

+0

那似乎不要做到這一點,現在用戶級別2顯示爲 –

+0

如果您不想要級別爲2&0的用戶,則應該使用「AND」運算符而不是「||」 – Venu

0

代替

$q=$db->query("SELECT u.*,g.* FROM users u LEFT JOIN gangs g ON g.gangID=u.gang WHERE u.user_level != 2 || WHERE u.user_level !=0 $myf ORDER BY level DESC,userid ASC LIMIT 20"); 

你應該,(刪除第2位置)

$q=$db->query("SELECT u.*,g.* FROM users u LEFT JOIN gangs g ON g.gangID=u.gang WHERE u.user_level != 2 || u.user_level !=0 $myf ORDER BY level DESC,userid ASC LIMIT 20"); 
+0

謝謝你解釋怎麼做:) –

+0

似乎沒有做到這一點,現在用戶級別2顯示 –

+0

你得到的錯誤是什麼?只需打印您的查詢,以便我們知道如何構建您的查詢。 –