從頭開始重申PDO 取得結果
在PHP 的PDO 擴充中,在嘗試多次迭代獲取的數組時可能會遇到的數組時可能會遇到挑戰,每次從第一行開始。與 MySQL 的 mysql_data_seek 方法不同,PDO 缺少手動重設數組指標的直接等效方法。
要克服這個問題,您可以利用另一種方法,將結果儲存在陣列中。以下是一個修改後的程式碼片段,示範了這一點:
<code class="php"><?php $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(); // Store the results in an array $rows = $stmt->fetchAll(); // First iteration foreach ($rows as $r) { // Perform desired actions starting from the first row } // Second iteration foreach ($rows as $r) { // Perform additional actions starting from the first row again } ?></code>
透過將結果儲存在 $rows 中,您可以有效地建立完整結果集的快照。這允許您多次迭代數組,確保每次迭代都從第一行開始。這種方法提供了更大的多功能性,並且無需手動操作指針,使其適合各種用例。
以上是如何從頭開始多次迭代 PDO 取得結果?的詳細內容。更多資訊請關注PHP中文網其他相關文章!