2015-12-16 59 views
0
$assault_checker=mysql_query("SELECT * FROM assaults WHERE host_id='".$_SESSION['user']."' OR guest_id='".$_SESSION['user']."' AND status='0'"); 
$assault_checker=mysql_num_rows($assault_checker); 

我一直得到錯誤的預期結果。 我只想計算用戶標識在host_id或guest_id中的行數。此外,狀態行應爲0.Mysql查詢「OR」和「AND」

我錯過了什麼?

+0

你的下一站應該找出如何保護您的程序,避免SQL注入。 – Marged

回答

3

是你應該使用括號,您的查詢應該是:

$assault_checker=mysql_query("SELECT * FROM assaults WHERE (host_id='".$_SESSION['user']."' OR guest_id='".$_SESSION['user']."') AND status='0'"); 
+0

謝謝!像魅力一樣工作 –

+0

這是[關於運算符優先級的文檔](http://dev.mysql.com/doc/refman/5.7/en/operator-precedence.html) – Mifeet