我無法從mysql SELECT方法移動到PDO方法。我想遍歷一個獲取的數組兩次,兩次從第零行開始。在MySQL中,我會使用:在PDO結果中重置數組指針
mysql_data_seek($result,0);
使用PDO方法,我不知道如何完成同樣的事情。下面的代碼是我如何試圖做到這一點。第一個while循環工作正常,但第二個while循環沒有返回任何內容。有人可以告訴我我要去哪裏嗎?
$pdo = new PDO('mysql:host=' . $host . ';dbname='.$database, $username, $password);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = $pdo->prepare('SELECT * FROM mytable WHERE active = 1 ORDER BY name ASC');
$stmt->setFetchMode(PDO::FETCH_ASSOC);
$stmt->execute();
while($row = $stmt->fetch())
{
//do something starting with row[0]
}
while($row = $stmt->fetch())
{
//do something else starting with row[0]
}
感謝您的幫助。
哇!這似乎很明顯。不知道爲什麼我被困在使用while循環。謝謝你的頭踢! – user1028866 2012-02-24 20:06:10
因爲您忽略了[文檔](http://php.net/manual/en/ref.pdo-mysql.php#pdo.constants.mysql-attr-use-buffered-query)。 – AnrDaemon 2016-05-31 18:44:14
在處理大型結果集時,這不是個好主意。所有數據將被存儲在數組中。 – 2017-09-27 14:14:24