我试图了解fetch_assoc如何/为何如此工作.
我有以下代码:
我有以下代码:
$results = $connectToDb->fetch("SELECT * FROM customer"); $resultsArray = $results->fetch_assoc(); print_r($resultsArray); //print_r 1 while($row = $results->fetch_assoc()){ print_r($row); //print_r 2 }
查询从表中返回3行.
为什么第一个print_r只返回查询数据的第一行,而第二个print_r返回全部3?如何将fetch_assoc放入while循环告诉它多次执行该操作?我读到fetch_assoc返回一个关联数组或NULL但是我很难理解while循环“告诉”fetch_assoc如何获取下一行,如果这有意义的话?
谢谢.
让我们试着理解你的代码及其工作原理:
原文链接:https://www.f2er.com/php/132795.html$results = $connectToDb->fetch("SELECT * FROM customer");
变量$results有一个由查询返回的行集合.集合的大小可以是0到n.
$resultsArray = $results->fetch_assoc();
该行从集合中获取第一个元素.如果集合为空,则返回NULL.
while($row = $results->fetch_assoc()){ }
它可以在以下步骤中解耦:
>计算$row = $results-> fetch_assoc()并返回带元素或NULL的数组.>用getten值替换$row = $results-> fetch_assoc()并获取以下语句:while(array(with elements))或while(NULL).>如果是while(数组(带元素)),它会解析True中的while条件并允许执行迭代.>如果它是while(NULL),它将False中的while条件解析并退出循环.