Umstellung von MySQL auf PDO: Array-Zeiger beibehalten
PDO bietet einen anderen Ansatz zum Abrufen von Daten als die mysql_data_seek()-Methode von MySQL. Um ein Array effektiv mehrmals zu durchlaufen, befolgen Sie diese Schritte:
Ergebnisse in einem Array speichern:
Anstatt sich direkt auf die PDO-Anweisung zu verlassen, speichern Sie die Ergebnisse in ein Array mit der Methode fetchAll(). Dadurch können Sie kontrollierter mit dem Array arbeiten.
Code:
<code class="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(); $rows = $stmt->fetchAll();</code>
Iterieren mit Foreach-Schleife:
Jetzt können Sie das Array mithilfe von foreach-Schleifen so oft wie nötig durchlaufen. Mit diesem Ansatz können Sie jede Iteration ab dem ersten Element im Array beginnen.
Code:
<code class="php">foreach ($rows as $r) { // First iteration } foreach ($rows as $r) { // Second iteration }</code>
Beispiel:
Angenommen, Sie haben ein Array von Namen in $rows gespeichert. Der folgende Code zeigt, wie man ihn zweimal durchläuft:
<code class="php">foreach ($rows as $name) { echo $name . "<br>"; // First run: Display all names vertically } foreach ($rows as $name) { echo $name . " "; // Second run: Display all names horizontally }</code>
Vorteile:
Das obige ist der detaillierte Inhalt vonWie kann ich nach der Migration von MySQL zu PDO mehrmals ein Array durchlaufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!