Heim >Backend-Entwicklung >PHP-Tutorial >Wann gibt \'mysql_fetch_array()\' wirklich ein Array aller Abfragezeilen zurück?
Das Problem mit mysql_fetch_array verstehen
Ein häufiger Fehler bei der Verwendung der Funktion mysql_fetch_array() ist die Annahme, dass sie ein Array aller Zeilen von a zurückgibt Abfrage. Allerdings wird nur eine einzelne Zeile abgerufen, was zu Verwirrung führt, wenn versucht wird, auf mehr als das erste Element zuzugreifen.
Erläuterung des Codes
Der bereitgestellte Code versucht, Künstler abzurufen deren Namen mit „a“, „b“ oder „c“ beginnen. Die Abfrage wird in $array gespeichert und die erste Zeile wird in $array_result abgerufen. Beim Versuch, auf $array_result[1] zuzugreifen, tritt jedoch der Fehler „Undefinierter Offset“ auf. Dies liegt daran, dass mysql_fetch_array() nur die erste Zeile als Array zurückgibt.
Lösung: Iterieren über Zeilen
Um alle Zeilen aus der Abfrage zu erhalten, muss mysql_fetch_array() Die Funktion muss innerhalb einer Schleife mehrmals aufgerufen werden. Zum Beispiel:
<code class="php">$array = mysql_query("SELECT artist FROM directory WHERE artist LIKE 'a%' OR artist LIKE 'b%' OR artist LIKE 'c%'"); while ($data = mysql_fetch_array($array)) { // Output or process each row data as needed var_dump($data); }</code>
In diesem Beispiel ruft die Schleife jede Zeile aus dem Abfrageergebnis ab und verarbeitet sie, wodurch die gewünschte Funktionalität des Zugriffs auf Elemente aus jeder Zeile ermöglicht wird.
Das obige ist der detaillierte Inhalt vonWann gibt \'mysql_fetch_array()\' wirklich ein Array aller Abfragezeilen zurück?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!