当前位置: 首页 > 面试题库 >

MySQLi查询仅返回一行

商绍元
2023-03-14
问题内容

此代码仅返回一行,但应返回2行。我在phpMyAdmin中尝试了SQL,它完美返回了2行。我在这里做错了什么?

$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_row = $request_list_result->fetch_array();

echo $request_list['user_fullname'];

顺便说一句,上面的代码通过以下脚本将程序移至profile.php:

$index = new Template('views/template/one.php', array(
'subtitle' => 'Dashboard',
'stylesheets' => array('/assets/css/profile.css'),
'scripts' => array('/assets/js/dashboard.js'),
'sidebar' => 'sidebar.php',
'content' => 'views/profile.php',
'errors' => $errors,
'successes' => $successes,
'request_list' => $request_list_row //right here
), true);

问题答案:

您需要遍历结果(如TheSmose所述)

while ($request_list_row = $request_list_result->fetch_array()) {
    echo $request_list['user_fullname'];
}

并且 您需要将结果数组发送$request_list到模板而不是$request_list_row

改变这个

'request_list' => $request_list_row //right here

对此

'request_list' => $request_list //right here

如果您不只是想要user_fullname模板中的内容(并且您不需要PHP> = 5.3
mysqli_result::fetch_all),那么您将需要在循环内构建自己的数组。

我不知道您的模板代码会有什么期望,但是您可以尝试

while ($request_list_row = $request_list_result->fetch_array()) {
    echo $request_list[] = $request_list_row;
}


 类似资料:
  • 我正在将我的PHP代码从mysql更新到mysqli,但我似乎找不到这个问题的答案:mysqli更新查询是否返回结果? 使用mysql,我可以 即使该查询不返回任何行,也将为true。 现在,在mysqli代码中,我有如下内容(为了清晰起见,删除了错误处理): 结果是错误的。 对于记录来说,查询是有效的(忽略我可能在将其转录到stackoverflow中时犯的任何错别字),字段1在数据库中按预期正

  • 问题内容: 我有一个名为X的字段(在Oracle中为列),其值类似于“ a1b2c3”,“ abc”,“ 1ab”,“ 123”,“ 156” 如何编写一个SQL查询,仅返回包含纯数值=不包含字母的X?上例中的156’‘。 从myTable中选择X,其中… ?? 问题答案: 您可以将函数用作: 样品运行:

  • 问题内容: 我有一个简单的准备好的声明,用于实际存在的电子邮件: 结果:在应回显时回显 我在控制台中运行了相同的查询,并使用与上述相同的电子邮件得到了结果。 我也使用一个简单的mysqli查询进行了测试: 结果:我所期望的 还的是1。 为什么准备的陈述 不大于0? 问题答案: 当您通过mysqli执行一条语句时,直到您获取结果,结果才真正在PHP中出现- 结果由数据库引擎保存。因此,对象无法知道执

  • 问题内容: 好的,我有以下代码: 然后,当我尝试回显内容时,只能回显输出第一项,但是如果我尝试回显,则会得到未定义的偏移量。 但是,如果我通过PHPMyAdmin运行以上查询,它将返回10个项目的列表。为什么不能将其识别为10个项的数组,让我回显0-9? 谢谢您的帮助。 问题答案: 那是因为数组代表返回结果集中的一行。您需要再次执行该功能以获得下一条记录。例:

  • 问题内容: 我有这个简单的PHP代码: 它仅返回以下内容: 我的表中有3500多行,并且在PhpMyAdmin中运行SQL效果很好。 问题答案: 您的示例拼写错误 每次调用时以及行外时都会返回一行。通过在条件中为其分配变量来利用它,以发挥您的优势。在循环中,将是当前行。

  • 本文向大家介绍php mysqli查询语句返回值类型实例分析,包括了php mysqli查询语句返回值类型实例分析的使用技巧和注意事项,需要的朋友参考一下 本文实例分析了php mysqli查询语句返回值类型。分享给大家供大家参考,具体如下: 浏览器输出结果: 更多关于PHP相关内容感兴趣的读者可查看本站专题:《php+mysqli数据库程序设计技巧总结》、《PHP基于pdo操作数据库技巧总结》、