Heim > Backend-Entwicklung > PHP-Tutorial > Warum gibt meine MySQL-Abfrage bei der Ausführung in PHP nur eine Zeile zurück?

Warum gibt meine MySQL-Abfrage bei der Ausführung in PHP nur eine Zeile zurück?

Susan Sarandon
Freigeben: 2024-11-03 08:35:02
Original
567 Leute haben es durchsucht

Why is my MySQL query only returning one row when executed in PHP?

MySQL gibt nur eine Zeile aus einer Abfrage zurück

Problem:

Beim Ausführen einer SQL Bei einer Abfrage, die mehrere Zeilen zurückgeben soll, wird mit mysql_query() und mysql_fetch_assoc() von PHP nur eine Zeile abgerufen. Die direkt in PhpMyAdmin ausgeführte SQL-Abfrage gibt alle erwarteten Zeilen zurück.

Lösung:

Option 1: Verwenden einer Schleife zum Durchlaufen von Zeilen

$query = mysql_query("SELECT `title`,
                             `url_title`
                        FROM `fastsearch`
                       WHERE `tags`
                            LIKE '%$q%'
                       LIMIT 5");

while ($row = mysql_fetch_assoc($query)) {
    print_r($row);
}
Nach dem Login kopieren
  • Dieser Code verwendet eine While-Schleife, um alle von der Abfrage zurückgegebenen Zeilen zu durchlaufen.
  • Jede Zeile ist der Variablen $row zugewiesen und kann innerhalb der Schleife aufgerufen werden.

Option 2: Verwenden von mysql_fetch_array() zum Abrufen eines Arrays von Zeilen

$query = mysql_query("SELECT `title`,
                             `url_title`
                        FROM `fastsearch`
                       WHERE `tags`
                            LIKE '%$q%'
                       LIMIT 5");

$rows = array();
while ($row = mysql_fetch_array($query)) {
    $rows[] = $row;
}
Nach dem Login kopieren
  • Dieser Code verwendet mysql_fetch_array(), um ein Array von Zeilen abzurufen Zeilen.
  • Das $rows-Array enthält ein Array für jede von der Abfrage zurückgegebene Zeile.

Hinweis:

  • Das Problem trat auf, weil mysql_fetch_assoc() jeweils nur eine Zeile zurückgibt.
  • Der falsch geschriebene Variablenname $quer anstelle von $query könnte ebenfalls zu dem Problem beigetragen haben.

Das obige ist der detaillierte Inhalt vonWarum gibt meine MySQL-Abfrage bei der Ausführung in PHP nur eine Zeile zurück?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage