确定 MySQLi 查询仅检索一行的根本原因
当遇到 MySQLi 查询尽管期望多行但仅返回一行的问题时,有必要检查所涉及的代码。在所提供的情况下,查询旨在从 sb_buddies 和 sb_users 表中检索数据。
代码从两个表中选择列,并根据 buddy_requester_id 字段将它们连接起来。但是,后续行尝试使用 $request_list_result->fetch_array() 仅获取单行。
解决方案:使用 fetch_all() 检索多行
To检索多行,需要使用 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(),代码现在可以访问所有匹配行的数据,解决了只能获取一行的问题。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3