Zurücksetzen des Array-Zeigers in PDO-Ergebnissen
Beim Übergang von MySQL SELECT-Methoden zu PDO ist das Zurücksetzen des Array-Zeigers für die Iteration durch fetched unerlässlich Arrays mehrmals. Während MySQL mysql_data_seek() anbietet, um dies zu erreichen, erfordert PDO einen anderen Ansatz.
Um den Array-Zeiger in PDO erfolgreich zurückzusetzen, ziehen Sie die folgende Lösung in Betracht:
Rufen Sie zunächst die Ergebnismenge in eine ab Array mit der Methode fetchAll(). Diese Methode ruft alle Zeilen in ein PHP-Array ab. Anschließend können Sie dieses Array mehrmals durchlaufen, um auf die Daten aus jeder Zeile zuzugreifen und sie zu verarbeiten.
Hier ist ein aktualisiertes 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(); // Saving results into an array // First Iteration foreach ($rows as $r) { // ... } // Second Iteration foreach ($rows as $r) { // ... }
Mit diesem überarbeiteten Ansatz können Sie das Ergebnis durchlaufen mehrmals einstellen, jedes Mal beginnend mit der ersten Reihe.
Das obige ist der detaillierte Inhalt vonWie setze ich den Array-Zeiger in PDO-Ergebnissätzen für mehrere Iterationen zurück?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!