Heim >Backend-Entwicklung >PHP-Tutorial >Wie kann man PDO-Abrufergebnisse mehrmals von Anfang an durchlaufen?

Wie kann man PDO-Abrufergebnisse mehrmals von Anfang an durchlaufen?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-10-30 03:06:03528Durchsuche

How to Iterate Through PDO Fetch Results Multiple Times Starting from the Beginning?

Wiederholung der PDO-Abrufergebnisse von Anfang an

In der PDO-Erweiterung von PHP kann es zu Herausforderungen kommen, wenn Sie versuchen, ein abgerufenes Array mehrmals zu durchlaufen , jeweils beginnend in der ersten Reihe. Im Gegensatz zur mysql_data_seek-Methode von MySQL fehlt PDO ein direktes Äquivalent zum manuellen Zurücksetzen des Array-Zeigers.

Um dies zu umgehen, können Sie einen alternativen Ansatz nutzen, indem Sie die Ergebnisse in einem Array speichern. Hier ist ein modifizierter Codeausschnitt, der dies demonstriert:

<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>

Durch das Speichern der Ergebnisse in $rows erstellen Sie effektiv eine Momentaufnahme des gesamten Ergebnissatzes. Dadurch können Sie das Array mehrmals durchlaufen und sicherstellen, dass jede Iteration in der ersten Zeile beginnt. Dieser Ansatz bietet eine größere Vielseitigkeit und macht eine manuelle Zeigermanipulation überflüssig, sodass er für eine Vielzahl von Anwendungsfällen geeignet ist.

Das obige ist der detaillierte Inhalt vonWie kann man PDO-Abrufergebnisse mehrmals von Anfang an durchlaufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn