2011-05-08 88 views
0

我有一個搜索,可以找到一切正確,但我現在唯一的問題是,它也顯示我不想拉起來的結果。下面的查詢代碼:PHP QUERY仍然顯示不帶LIKE的結果?

$query="SELECT * FROM users 
WHERE uid!='1' 
AND userf LIKE '%$key%' OR userl LIKE '%$key%' OR userm LIKE '%$key%'"; 

我想讓它顯示現在拉的結果,而不是在代碼讀取uid!='1'的人。

回答

3

我覺得你的問題在這裏是括號的缺失。

$query="SELECT * FROM users WHERE uid != '1' AND (userf LIKE '%$key%' OR userl LIKE '%$key%' OR userm LIKE '%$key%')"; 

沒有,只會是前兩個條件之間,所有其他的人的不會被踢出,因爲它們是邏輯或運算

括號由於uid字段可能是一個整數字段,你也不應該有引號中的值1。它應該是這樣的:

$query="SELECT * FROM users WHERE uid != 1 AND (userf LIKE '%$key%' OR userl LIKE '%$key%' OR userm LIKE '%$key%')"; 
+0

我在考慮使用括號,但是對於每個人來說,這可能不會奏效。謝謝你的幫助!!!我現在可以使我的其他搜索更好:) – yanike 2011-05-09 03:13:33