确定 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中文网其他相关文章!