Einzelzeilenabruf in MySQL-Interaktionen verstehen
In Ihrem bereitgestellten Code verwenden Sie die Funktion mysql_query(), um ein Ergebnis abzurufen aus einer MySQL-Datenbank festlegen und anschließend versuchen, Zeilen mit mysql_fetch_array() abzurufen. Es tritt jedoch ein Problem auf, bei dem nur auf die erste Zeile zugegriffen werden kann.
Die Funktion mysql_fetch_array() ruft eine Zeile aus der Ergebnismenge ab und stellt sie als indiziertes Array dar. In Ihrem Fall entspricht jede Zeile einer Reihe übereinstimmender Künstlernamen, die mit „a“, „b“ oder „c“ beginnen.
Wenn Sie mysql_fetch_array() zum ersten Mal ausführen, wird der erste platziert Zeile des Ergebnissatzes in die Variable $array_result, wodurch $array_result[0] verfügbar wird. Die nachfolgenden Aufrufe von mysql_fetch_array() ohne Angabe eines Parameters geben jedoch immer die erste Zeile zurück und überschreiben vorherige Ergebnisse.
Um mehrere Zeilen aus der Ergebnismenge abzurufen, müssen Sie die Funktion mysql_fetch_array() innerhalb von a wiederholen Schleife. Sie könnten beispielsweise eine while- oder foreach-Schleife verwenden, um die Ergebnismenge zu durchlaufen, indem Sie innerhalb jeder Iteration mysql_fetch_array() aufrufen und das resultierende Array in einer Variablen speichern. Dadurch können Sie auf jede Zeile einzeln zugreifen und ihren Inhalt nach Wunsch wiedergeben.
Hier ist ein Beispiel für die Verwendung einer While-Schleife:
$array = mysql_query("SELECT artist FROM directory WHERE artist LIKE 'a%' OR artist LIKE 'b%' OR artist LIKE 'c%'"); while($row = mysql_fetch_array($array)) { var_dump($row); // Outputs contents of each row }
Diese Schleife durchläuft die Ergebnismenge und gibt die aus Inhalte jeder Zeile, sodass Sie auf alle verfügbaren Daten der Abfrage zugreifen und diese wiedergeben können.
Das obige ist der detaillierte Inhalt vonWarum gibt mein MySQL „mysql_fetch_array()' nur die erste Zeile zurück?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!