Identifizieren der Grundursache dafür, dass eine MySQLi-Abfrage nur eine Zeile abruft
Wenn Sie mit dem Problem konfrontiert sind, dass eine MySQLi-Abfrage nur eine Zeile zurückgibt, obwohl mehrere Zeilen erwartet werden , ist es wichtig, den beteiligten Code zu untersuchen. Im bereitgestellten Fall zielt die Abfrage darauf ab, Daten aus den Tabellen sb_buddies und sb_users abzurufen.
Der Code wählt Spalten aus beiden Tabellen aus und verknüpft sie basierend auf dem Feld buddy_requester_id. Die folgende Zeile versucht jedoch, mit $request_list_result->fetch_array() nur eine einzelne Zeile abzurufen.
Lösung: Verwendung von fetch_all() zum Abrufen mehrerer Zeilen
Um mehrere Zeilen abzurufen, muss fetch_all() verwendet werden. Methode:
$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_rows = $request_list_result->fetch_all(); echo $request_list_rows[0]['user_fullname'];
Erklärung des Unterschieds
Durch die Verwendung von fetch_all() kann der Code nun auf die Daten für alle übereinstimmenden Zeilen zugreifen, wodurch das Problem gelöst wird, nur eine Zeile zu erhalten.
Das obige ist der detaillierte Inhalt vonWarum gibt meine MySQLi-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!