Array-Zeiger in PDO-Ergebnissen verwalten
Beim Übergang von MySQL zu PDO kann der Umgang mit Array-Zeigern zum Navigieren durch die Ergebnisse eine Herausforderung darstellen. Um ein abgerufenes Array mehrmals effektiv zu durchlaufen, jedes Mal beginnend bei Zeile Null, sollten Sie die folgende Technik in Betracht ziehen.
PDO bietet kein direktes Äquivalent zur MySQL-Funktion mysql_data_seek() zum Zurücksetzen des Array-Zeigers. Sie können die abgerufenen Ergebnisse jedoch in einem Array speichern und es so oft wie nötig durchlaufen.
Hier ist ein aktualisierter Codeausschnitt, der diesen Ansatz demonstriert:
$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 of the loop, starting from row zero } foreach ($rows as $r) { // Second run of the loop, starting from row zero again }
Durch Speichern der Ergebnisse Zum $rows-Array können Sie es mehrmals unabhängig durchlaufen und so sicherstellen, dass jede Schleife bei Zeile Null beginnt.
Das obige ist der detaillierte Inhalt vonWie kann ich Array-Zeiger im PDO zurücksetzen, nachdem ich MySQL-Ergebnisse abgerufen habe?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!