Heim >Backend-Entwicklung >PHP-Tutorial >Warum ruft MySQL Fetch Array nur die erste Zeile eines Abfrageergebnisses ab?
MySQL Fetch Array ruft begrenzte Zeilen ab
Der bereitgestellte Code zielt darauf ab, mithilfe der MySQL-Erweiterung in PHP mehrere Zeilen aus einer Datenbank abzurufen. Es tritt jedoch ein Problem auf, bei dem nur auf die erste Zeile zugegriffen werden kann. Die Abfrage ruft Künstler ab, die mit „a“, „b“ oder „c“ beginnen. Nachfolgende Versuche, auf Zeilen zuzugreifen, die über die erste hinausgehen, führen jedoch zu einem undefinierten Offset-Fehler.
Der Grund für dieses Problem liegt in der Funktionalität der mysql_fetch_array-Funktion. Es gibt eine einzelne Zeile aus der Ergebnismenge als assoziatives und indiziertes Array zurück. Um auf mehrere Zeilen zuzugreifen, muss die Funktion wiederholt aufgerufen werden, bis alle Zeilen verarbeitet wurden.
Der folgende modifizierte Codeausschnitt zeigt, wie über alle Zeilen im Ergebnissatz iteriert wird:
<code class="php">$array = mysql_query("SELECT artist FROM directory WHERE artist LIKE 'a%' OR artist LIKE 'b%' OR artist LIKE 'c%'"); while ($array_result = mysql_fetch_array($array)) { echo $array_result[0] . "\n"; // Additional processing for each row can be performed here. }</code>
In diesem Code ruft die while-Schleife weiterhin mysql_fetch_array auf, bis keine weiteren Zeilen mehr aus der Ergebnismenge abzurufen sind. Dadurch kann der Code jede Zeile nach Bedarf verarbeiten.
Das obige ist der detaillierte Inhalt vonWarum ruft MySQL Fetch Array nur die erste Zeile eines Abfrageergebnisses ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!