2013-08-25 95 views
-1

我有一個永遠不會結束的循環,它只能從數據庫中提取一條記錄。PDO提取循環永不結束

我有一個類返回一個列表,然後我在一個網站上調用while函數,while循環從不停止迴應數據。

class exampleclass 
{ 
public function get_list() 
{ 
$query = $dbh->prepare("SELECT .. blah); 
$query->bindParam("blah"); 
$query->execute(); 
return $query->fetch(PDO::FetchObj); 
} 
網頁上

我有:

<?php 
testobj = new exampleclass(); 
while ($obj = $testobj->get_list()) 
{ 
echo $obj->db_field; 
} 
?> 

它是直接從數據庫中的一個記錄,但它並沒有停止循環,這應該只是一次循環。

回答

1

首先,退出DB行創建對象的想法。他們看起來很花哨,但完全沒用。 然後瞭解如何返回整個結果以及如何正確地遍歷它:

public function get_list() 
{ 
    $stmt = $dbh->prepare("SELECT .. blah"); 
    $query->execute(array("blah")); 
    return $query->fetchAll(); 
} 

testobj = new exampleclass(); 
foreach ($testobj->get_list() as $row) 
{ 
    echo $row['db_field']; 
} 
+0

感謝您的輸入。工作比我所做的要好。 – Ralph