我的手上有一个相当奇怪的错误,我无法弄明白。我通过将$ 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>";
}
答案 0 :(得分:2)
您没有考虑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>";
}