首页 > 解决方案 > WHILE 循环 + mysqli_fetch_object

问题描述

我不明白为什么这段代码有效:

while ($row = mysqli_fetch_object($result)){
    echo $row->id . " ";
    echo $row->first_name . " ";
    echo $row->last_name . "<br>";
}

这是我正在学习的 CRUD 教程的一部分。while 循环遍历整个表并列出所有行和列。但是根据我对while-loops 的理解,这应该行不通。

我的猜测是它应该尝试无限次打印当前行并使我的浏览器崩溃,因为条件没有变化。为什么它会遍历所有行?为什么会停止?我在任何地方都找不到答案。

有没有好心人简单的解释一下?

标签: phpmysqliwhile-loop

解决方案


每个 fetch 获取一行并成功,其评估结果为 true,因此 while 循环继续。当没有更多行可用于获取时,获取返回 false 并且 while 循环结束。


推荐阅读