Heim > Artikel > Backend-Entwicklung > Warum gibt meine MySQL-Abfrage nur eine Zeile zurück, wenn ich mehrere erwarte?
Falsch angezeigte MySQL-Zeilen korrigieren
Stehen Sie vor einem Problem, bei dem MySQL nur eine Zeile zurückgibt, wenn das erwartete Ergebnis mehrere sein sollte? Sehen wir uns diesen PHP-Code an:
<code class="php">$query = mysql_query("SELECT `title`, `url_title` FROM `fastsearch` WHERE `tags` LIKE '%$q%' LIMIT 5"); $query2 = mysql_fetch_assoc($query); print_r($query2);</code>
Dieser Code soll die ersten fünf übereinstimmenden Zeilen aus der Fastsearch-Tabelle basierend auf einer Suchabfrage abrufen. Das Problem entsteht jedoch aufgrund einer falschen Verwendung von mysql_fetch_assoc.
Verwenden einer While-Schleife zum Durchlaufen von Zeilen
Um dieses Problem zu beheben, müssen wir eine While-Schleife verwenden um alle übereinstimmenden Zeilen zu durchlaufen und sie einzeln anzuzeigen. Hier ist der korrigierte Code:
<code class="php">$query = mysql_query("SELECT `title`, `url_title` FROM `fastsearch` WHERE `tags` LIKE '%$q%' LIMIT 5"); while ($row = mysql_fetch_assoc($query)) { print_r($row); }</code>
In diesem aktualisierten Code:
Zusätzliche Hinweise:
Das obige ist der detaillierte Inhalt vonWarum gibt meine MySQL-Abfrage nur eine Zeile zurück, wenn ich mehrere erwarte?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!