Heim  >  Artikel  >  Backend-Entwicklung  >  Warum ruft MySQL Fetch Array nur die erste Zeile eines Abfrageergebnisses ab?

Warum ruft MySQL Fetch Array nur die erste Zeile eines Abfrageergebnisses ab?

Susan Sarandon
Susan SarandonOriginal
2024-10-20 14:31:29892Durchsuche

Why Does MySQL Fetch Array Only Retrieve the First Row of a Query Result?

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!

Stellungnahme:
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