Heim >Datenbank >MySQL-Tutorial >Warum gibt meine PHP-MySQL-Abfrage nur eine Zeile zurück, wenn mehrere Zeilen vorhanden sind?
Beim Versuch, mehrere Zeilen aus einer MySQL-Tabelle mit PHP abzurufen, kann es vorkommen, dass nur eine Zeile zurückgegeben wird. obwohl mehrere Zeilen Ihren Abfragekriterien entsprechen. Dieses Problem kann aufgrund einer falschen Code-Implementierung auftreten.
Im bereitgestellten PHP-Code:
$query = mysql_query("SELECT `title`, `url_title` FROM `fastsearch` WHERE `tags` LIKE '%$q%' LIMIT 5"); $query2 = mysql_fetch_assoc($quer); print_r($query2);
Das Problem liegt in der Verwendung von mysql_fetch_assoc($quer). Diese Funktion ruft nur die erste Zeile der Ergebnismenge ab und weist sie $query2 zu. Um alle mit der Abfrage übereinstimmenden Zeilen abzurufen, müssen Sie eine While-Schleife verwenden, um die Ergebnismenge zu durchlaufen.
Der korrigierte Code wäre:
$query = mysql_query("SELECT `title`, `url_title` FROM `fastsearch` WHERE `tags` LIKE '%$q%' LIMIT 5"); while ($row = mysql_fetch_assoc($query)) { print_r($row); }
Diese Änderung weist jede Zeile dem zu $row-Variable innerhalb der while-Schleife, die den Abruf und die Anzeige aller übereinstimmenden Zeilen gewährleistet.
Das obige ist der detaillierte Inhalt vonWarum gibt meine PHP-MySQL-Abfrage nur eine Zeile zurück, wenn mehrere Zeilen vorhanden sind?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!