首页 >后端开发 >php教程 >为什么我的 MySQLi 查询只返回一行?

为什么我的 MySQLi 查询只返回一行?

Susan Sarandon
Susan Sarandon原创
2024-11-14 12:11:01397浏览

Why Does My MySQLi Query Only Return One Row?

MySQLi 查询仅返回一行

在提供的代码中,作者尝试使用 MySQLi 从数据库中获取多行,但是查询仅返回一行。尽管确认 SQL 查询直接在 phpMyAdmin 中执行时返回两行。

问题

问题在于用于从 MySQLi 获取数据的方法结果对象。代码中使用了 fetch_array(),它仅检索结果集的第一行。要检索所有行,应使用 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 = $request_list_result->fetch_all();

// Now $request_list holds all rows in the result set

其他资源

有关从 MySQLi 结果集中获取数据的更多信息,请参阅以下内容资源:

  • [mysqli_result::fetch_all()](https://www.php.net/manual/en/mysqli-result.fetch-all.php)

以上是为什么我的 MySQLi 查询只返回一行?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn