首页 > 后端开发 > php教程 > 为什么 `mysqli_num_rows()` 返回布尔值而不是 `mysqli_result` 对象?

为什么 `mysqli_num_rows()` 返回布尔值而不是 `mysqli_result` 对象?

Patricia Arquette
发布: 2024-11-29 03:14:12
原创
543 人浏览过

Why Does `mysqli_num_rows()` Return a Boolean Instead of a `mysqli_result` Object?

PHP 和 MySQL:mysqli_num_rows() 期望参数 1 为 mysqli_result,给定布尔值

问题

将 HTML Purifier 集成到 PHP 脚本中时,第 22 行发生错误:mysqli_num_rows() 需要参数 1为 mysqli_result,给出布尔值。该错误是在尝试检查 MySQL 查询返回的行数时触发的。

解决方案

该错误是由第 22 行不正确的 SQL 查询引起的,即:

$dbc = mysqli_query($mysqli,"SELECT users.*, profile.*
                                 FROM users 
                                 INNER JOIN contact_info ON contact_info.user_id = users.user_id 
                                 WHERE users.user_id=3");
登录后复制

错误是:“您没有在任何地方加入个人资料。”这意味着查询正在尝试在 user_id 列上连接用户和个人资料表,但个人资料表未包含在 FROM 子句中。

要解决此问题,需要将个人资料表包含在FROM 子句,如下所示:

$dbc = mysqli_query($mysqli,"SELECT users.*, profile.*
                                 FROM users 
                                 INNER JOIN profile ON contact_info.user_id = users.user_id 
                                 WHERE users.user_id=3");
登录后复制

通过此更改,查询将正确连接用户和个人资料表并返回所需的结果。

以上是为什么 `mysqli_num_rows()` 返回布尔值而不是 `mysqli_result` 对象?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板