Heim >Datenbank >MySQL-Tutorial >Wie kann ich ein PDO-Ergebnisarray zweimal durchlaufen?
Zweimaliges Iterieren eines Arrays aus einem PDO-Ergebnis
Bei der Arbeit mit PDO kann es erforderlich sein, ein abgerufenes Array mehrmals zu iterieren. Im Gegensatz zur mysql_data_seek()-Methode von MySQL bietet PDO jedoch keine direkte Möglichkeit, den Array-Zeiger zurückzusetzen. Um die gleiche Funktionalität zu erreichen, muss ein alternativer Ansatz verwendet werden.
Die Lösung besteht darin, die abgerufenen Ergebnisse in einem Array zu speichern und dann zweimal über dieses Array zu iterieren. Hier ist ein Beispiel:
$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(); $rows = $stmt->fetchAll(); foreach ($rows as $r) { // first run } foreach ($rows as $r) { // seconds run }
In diesem überarbeiteten Code:
Durch das Speichern der Ergebnisse in einem Array wird die ursprüngliche Absicht von Das zweimalige Durchlaufen desselben Arrays, jedes Mal beginnend mit Zeile Null, bleibt erhalten. Diese Methode bietet eine robuste und effiziente Lösung für die Arbeit mit PDO-Ergebnissen.
Das obige ist der detaillierte Inhalt vonWie kann ich ein PDO-Ergebnisarray zweimal durchlaufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!