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: Verwenden von fetch_all() zum Abrufen mehrerer Zeilen
An Um mehrere Zeilen abzurufen, muss die Methode fetch_all() verwendet werden:
$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.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3