So verwenden Sie mysqli_fetch_array() mehrmals für dasselbe Ergebnis
Bei der Arbeit mit datenbankgesteuerten Apps ist es oft notwendig, iterativ zu verarbeiten zurückgegebene Datenzeilen. In MySQL spielt die Funktion mysqli_fetch_array() eine entscheidende Rolle beim Extrahieren von Daten aus Abfrageergebnissen. Eine häufige Herausforderung entsteht jedoch, wenn Sie mit mysqli_fetch_array() mehrmals versuchen, auf denselben Ergebnissatz zuzugreifen, was zu unerwartetem Verhalten führt.
Der Grund für dieses Problem liegt im Verhalten von mysqli_fetch_array(). Jeder Aufruf bewegt den Cursor innerhalb der Ergebnismenge in die nächste Zeile. Wenn Sie es also zweimal für dasselbe Ergebnis verwenden, erhalten Sie nur Zugriff auf die ersten beiden Zeilen. Um diese Einschränkung zu überwinden, müssen wir die Datenmanipulation von der Ausgabe trennen.
1. Erfassen Sie die Daten:
Der erste Schritt besteht darin, alle Daten in ein Array zu extrahieren:
<code class="php">$db_res = mysqli_query( $db_link, $sql ); $data = array(); while ($row = mysqli_fetch_assoc($db_res)) { $data[] = $row; }</code>
Oder mit der fetch_all()-Methode von PHP 5.3:
<code class="php">$db_res = mysqli_query( $db_link, $sql ); $data = $db_res->fetch_all(MYSQLI_ASSOC);</code>
2. Nutzen Sie die Daten mehrmals:
Sobald Sie sie in einem Array erfasst haben, können Sie diese mehrmals durchlaufen und so den Zugriff auf alle Zeilen sicherstellen:
<code class="php">// Top row foreach ($data as $row) {</code>
Das obige ist der detaillierte Inhalt vonKönnen Sie mysqli_fetch_array() mehrmals für denselben Ergebnissatz wiederverwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!