我一直很困惑为什么这不起作用!我的查询在所有方面都执行得非常好,但是当我在$ row值上添加if检查时,echo消息按预期进行(如果没有结果),但是当我的查询中存在匹配时,else将不会启动???为什么这不起作用?有人请放松我的痛苦,让我直截了当!
$row = mysql_fetch_array($result);
if (!$row) {
echo "Sorry brah. Nothing matches your search criteria.";
} else {
$i = 1;
while($row = mysql_fetch_array($result)) {
echo "$i - " . $row['first_name'] . " " . $row['last_name'] . " - " . $row['address'] . "<br />";
$i++;
}
}
答案 0 :(得分:9)
$row = mysql_fetch_array($result); // this fetches the first row your result
...
在while循环中,您再次从结果中获取行。如果您在结果中只有一行使用
,这将无效if (mysql_num_rows($result) == 0) {
echo "Sorry brah. Nothing matches your search criteria.";
} else {
$i = 1;
while($row = mysql_fetch_array($result)) {
echo "$i - " . $row['first_name'] . " " . $row['last_name'] . " - " . $row['address'] . "<br />";
$i++;
}
}
答案 1 :(得分:3)
在if语句中尝试mysql_num_rows($result)==0