【发布时间】:2016-06-02 12:28:49
【问题描述】:
while() 循环中每次调用 mysqli_fetch_array($result) 时; 它怎么知道它必须从我们保存在 $result 中的数据库查询结果中获取另一行?
它如何知道 $result 中的所有行都已获取?
【问题讨论】:
标签: php
while() 循环中每次调用 mysqli_fetch_array($result) 时; 它怎么知道它必须从我们保存在 $result 中的数据库查询结果中获取另一行?
它如何知道 $result 中的所有行都已获取?
【问题讨论】:
标签: php
$result 指向一个保持某种内部状态的对象,一个游标。此游标指向下一个要获取的行。每次调用 mysqli_fetch_array() 时,它都会获取下一个结果,并更新游标,直到到达最后一行,然后返回 false,while() 终止。
看到这个answer。
【讨论】:
每次您调用 mysqli_fetch_array 时,它都会从您的查询中提取下一行。当 mysqli_fetch_array 仍然有一些东西要分配给变量 $row 时,while 循环一直返回 true。一旦它超出行数,它就没有任何东西可以提供变量,并且返回 false。
更多详情请看Answer
【讨论】: