php while()循环if/else似乎不起作用

Old*_*est 2 php mysql if-statement while-loop

我一直很困惑为什么这不会工作!我的查询在所有方面都执行得非常好,但是当我在$ 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++;
    } 
}
Run Code Online (Sandbox Code Playgroud)

Gau*_*rav 9

$row = mysql_fetch_array($result);  // this fetches the first row your result
...
Run Code Online (Sandbox Code Playgroud)

在while循环中,你再次从结果中获取thr row行.如果你只有一行结果,哪个不行

使用

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++;
    } 
}
Run Code Online (Sandbox Code Playgroud)