如何作用是();使用while循环迭代所有元素


How mysql_fetch_assoc(); with while loop iterate all elements?

也许我的问题看起来很愚蠢,但我想真正理解不写代码没有理解

如果我有数据库,我想使用它:

$handle=mysql_query("SELECT * FROM users ORDER BY id");
$num=mysql_num_rows($handle);

然后我写了这段代码来迭代数组

while($row = mysql_fetch_assoc($handle)){
    echo $row['username']."<br>";
}

我的问题是while循环如何在元素完成后迭代和停止,我的意思是停止while循环的条件在哪里?

当数据用完时,mysql_fetch_assoc($handle)将返回null,因此$row = mysql_fetch_assoc($handle)将求值为false。这将停止你的while循环。

$handle是一个mySQL资源,所以X行数…

$row = mysql_fetch_assoc($handle)将从资源中返回一行,如果没有更多的行,则返回NULL。

因此,在某些时候,$row将计算为false(因为没有更多的行要返回),这将结束while循环。