Heim >Backend-Entwicklung >PHP-Tutorial >Warum gibt meine MySQLi-Abfrage nur eine Zeile zurück?

Warum gibt meine MySQLi-Abfrage nur eine Zeile zurück?

Susan Sarandon
Susan SarandonOriginal
2024-11-14 12:11:01390Durchsuche

Why Does My MySQLi Query Only Return One Row?

MySQLi-Abfrage gibt nur eine Zeile zurück

Im bereitgestellten Code versucht der Autor, mit MySQLi mehrere Zeilen aus der Datenbank abzurufen, aber die Die Abfrage gibt nur eine einzelne Zeile zurück. Dies trotz der Bestätigung, dass die SQL-Abfrage zwei Zeilen zurückgibt, wenn sie direkt in phpMyAdmin ausgeführt wird.

Das Problem

Das Problem liegt in der Methode, die zum Abrufen von Daten aus MySQLi verwendet wird Ergebnisobjekt. Im Code wird fetch_array() verwendet, das nur die erste Zeile der Ergebnismenge abruft. Um alle Zeilen abzurufen, sollte stattdessen fetch_all() verwendet werden.

Korrigierter Code

$request_list_result = $mysqli->query("
SELECT buddy_requester_id, buddy_reciepient_id, user_id, user_fullname FROM sb_buddies
JOIN sb_users ON buddy_requester_id=user_id
WHERE buddy_status='0' AND buddy_reciepient_id='" . get_uid() . "'");

$request_list = $request_list_result->fetch_all();

// Now $request_list holds all rows in the result set

Zusätzliche Ressourcen

Weitere Informationen zum Abrufen von Daten aus MySQLi-Ergebnismengen finden Sie im Folgenden Ressource:

  • [mysqli_result::fetch_all()](https://www.php.net/manual/en/mysqli-result.fetch-all.php)

Das obige ist der detaillierte Inhalt vonWarum gibt meine MySQLi-Abfrage nur eine Zeile zurück?. 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