PDO: Array-Zeiger in Ergebnissen zurücksetzen
Bei der Migration von MySQL-SELECT-Methoden zu PDO wird ein abgerufenes Array zweimal durchlaufen, wobei jede Iteration beginnt ab Zeile Null stellt eine Herausforderung dar. PDO fehlt ein Äquivalent zur Funktion mysql_data_seek() von MySQL.
Erwägen Sie die Verwendung des folgenden Ansatzes:
Ergebnisse in einem Array speichern:
Array zweimal durchlaufen:
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) { // second run }
Dieser Ansatz simuliert effektiv das gewünschte Verhalten des Zurücksetzens des Array-Zeigers und ermöglicht so mehrere Iterationen durch dasselbe Ergebnis eingestellt.
Das obige ist der detaillierte Inhalt vonWie setze ich den PDO-Ergebnis-Array-Zeiger für mehrere Iterationen zurück?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!