Php 为什么while循环永远不会结束?

Php 为什么while循环永远不会结束?,php,Php,请看一下这个代码片段- while($row=$getForums\u data->fetchAll(PDO::FETCH\u ASSOC)){ 我尝试了上述不同的变体,但它一直让我陷入死亡循环。有人能告诉我这里出了什么问题吗?查询没有错,因为我测试了它,它工作正常。但是while循环没有结束。fetchAll()从结果集中获取所有行,因此,如果有结果,则每次调用时都会返回一个非空数组 如果您只想逐行获取结果,直到没有结果为止(循环停止…),则需要: while ($row = $getForu

请看一下这个代码片段-

while($row=$getForums\u data->fetchAll(PDO::FETCH\u ASSOC)){

我尝试了上述不同的变体,但它一直让我陷入死亡循环。有人能告诉我这里出了什么问题吗?查询没有错,因为我测试了它,它工作正常。但是while循环没有结束。

fetchAll()
从结果集中获取所有行,因此,如果有结果,则每次调用时都会返回一个非空数组

如果您只想逐行获取结果,直到没有结果为止(循环停止…),则需要:

while ($row = $getForums_data->fetch(PDO::FETCH_ASSOC)) {

或者您将所有行提取到一个变量中,并使用
foreach()
循环该变量。

使用
$getForums\u data->fetch
在哪里看到您必须使用
而使用
循环
fetchAll()
?手册中肯定没有说明这一点。您阅读过手册中的函数概要吗?