Heim > Backend-Entwicklung > PHP-Tutorial > Können Sie mysqli_fetch_array() mehrmals für denselben Ergebnissatz wiederverwenden?

Können Sie mysqli_fetch_array() mehrmals für denselben Ergebnissatz wiederverwenden?

Patricia Arquette
Freigeben: 2024-11-02 14:48:03
Original
1042 Leute haben es durchsucht

Can You Reuse mysqli_fetch_array() Multiple Times on the Same Result Set?

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage