2016-04-03 113 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()來循環該變量。