確定MySQLi 查詢僅檢索一行的根本原因
當遇到MySQLi 查詢儘管期望多行但僅返回一行的問題時,有必要檢查所涉及的代碼。在所提供的情況下,查詢旨在從 sb_buddies 和 sb_users 表中檢索資料。
程式碼從兩個表中選擇列,並根據 buddy_requester_id 欄位將它們連接起來。但是,後續行嘗試使用 $request_list_result->fetch_array() 僅取得單行。
解決方案:使用 fetch_all() 檢索多行
要檢索多行,需要使用fetch_all()方法:
$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'];
解釋差異
透過使用fetch_all(),程式碼現在可以存取所有匹配行的數據,解決了只能取得一行的問題。
以上是為什麼我的 MySQLi 查詢只回傳一行,而我期望回傳多行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!