Heim >Backend-Entwicklung >PHP-Tutorial >Warum gibt meine MySQLi-Abfrage nur eine Zeile zurück, wenn ich zwei erwarte?
MySQLi-Abfrage ruft einzelne Zeile ab
Dieses Code-Snippet zielt darauf ab, zwei Datenzeilen aus einer MySQL-Tabelle abzurufen, gibt aber nur eine zurück. Die SQL-Anweisung in phpMyAdmin gibt beide Zeilen erfolgreich zurück, der betreffende Code schafft dies jedoch nicht:
$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_row = $request_list_result->fetch_array(); echo $request_list['user_fullname'];
Das Problem liegt in der Verwendung von fetch_array, das nur eine einzelne Zeile als Array abruft. Um alle Zeilen aus dem Ergebnis abzurufen, ist die vorgesehene Funktion fetch_all:
$request_list = $request_list_result->fetch_all();
Diese Funktion gibt ein Array von Arrays zurück, wobei jedes innere Array eine Zeile im Ergebnissatz darstellt. Durch die Verwendung von fetch_all kann der Code korrekt auf beide Zeilen zugreifen.
Als Referenz finden Sie die Dokumentation zu fetch_all hier: http://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, wenn ich zwei erwarte?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!