2016-04-03 134 views
1

请看看这个代码片断 -为什么while循环永远不会结束?

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

我已经试过以上的不同的变化,但它一直把我在死亡的循环。有人可以告诉这里有什么问题吗?查询没有错,因为我测试了它,它工作正常。但是while循环并没有结束。

+0

使用'$ getForums_data-> fetch' – user3284463

+0

你从哪里看到你必须使用'while'循环和'fetchAll()'?手册当然没有说明。您是否阅读过手册中的功能简介? –

回答

3

fetchAll()从结果集中提取所有行,所以如果有结果,每次调用它时都会返回一个非空数组。

如果你只是想要得到的结果行由行,直到没有更多的(和循环停止......),你需要:

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

或者你提取所有行到一个变量并使用foreach()来循环该变量。