2014-10-01 106 views
1

我很難循環訪問PDO中的數據,只要數據中包含特定用戶的更多數據,就可以打印數據。我創建了一個執行選擇的函數。這是包含選擇功能的代碼,http://pastebin.com/GiAyCBys。我試圖使用下面的代碼cartexe.php中使用該功能,通過PDO中的數據循環

while($row = select($conn, 'user', 'cart', $user,':user','*')) 
    {  
     echo 'Hello'; 
    } 

但我陷入了一個無限循環。我很感激任何幫助,我可以得到。

+0

我還是會停留在一個無限循環。 – TheAmazingKnight 2014-10-01 21:46:29

+0

這可能會幫助你,因爲它提出了一個類似的問題:http://stackoverflow.com/questions/3601534/infinite-php-while-loop – 2014-10-01 21:47:16

+0

我可以毫不費力地使用mysqli或mysql查詢。這有點不同,因爲我使用的是PDO,我也在調用函數。 – TheAmazingKnight 2014-10-01 21:49:58

回答

1

解決方法是更改​​select以返回所有行,因爲fetch()僅在當時返回單個行。

選項1:

$result = array(); 
while($row = $smtp->fetch(PDO:: FETCH_ASSOC)){  
    $result[]=$row; 
}    
return $result; 

選項2:

$result = $smtp->fetchAll(PDO:: FETCH_ASSOC); 
return $result; 

使用功能類似這樣的

$rows = select($conn, 'user', 'cart', $user,':user','*'); 
foreach($rows as $row){ 
//do something with $row 
} 
+0

提取和每個都是我幾個小時前解決問題的方式。我非常欣賞這些投入,因爲這些投入使我更好地瞭解瞭解決問題的方法。 – TheAmazingKnight 2014-10-02 01:24:46