我手上有一个很奇怪的错误,我无法弄清楚。我尝试通过将$ username的值更改为实际值来进行调试,并且它可以很好地显示结果,我回显了SQL查询以查看正在传递的值,并且它们都是正确的,但是未显示任何结果。
有任何想法吗?谢谢
$sql = mysql_query("SELECT username1, username2 FROM friends WHERE username1 = '$username' OR username2 = '$username' AND friends >= 2") or die (mysql_error());
while ($row = mysql_fetch_assoc($sql)) {
echo "<p>".$row['username1']."</p>";
}
最佳答案
您没有考虑AND
优先于OR
的问题。您需要添加括号。
$sql = mysql_query("SELECT username1, username2 " .
"FROM friends " .
"WHERE ( username1 = '$username' OR username2 = '$username' ) AND friends >= 2") or die (mysql_error());
while ($row = mysql_fetch_assoc($sql)) {
echo "<p>".$row['username1']."</p>";
}