首页 > 数据库 > mysql教程 > 为什么 `mysqli_num_rows()` 返回'期望参数 1 为 mysqli_result,给定布尔值”?

为什么 `mysqli_num_rows()` 返回'期望参数 1 为 mysqli_result,给定布尔值”?

DDD
发布: 2024-12-08 18:00:34
原创
569 人浏览过

Why does `mysqli_num_rows()` return

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

错误分析

错误消息“mysqli_num_rows( ) 期望参数 1 为 mysqli_result,当尝试对布尔值而不是有效的 MySQL 结果集 (mysqli_result) 使用 mysqli_num_rows() 函数时,会出现“boolean给定”。

错误来源

在提供的代码中,第 22 行发生错误:

if (mysqli_num_rows($dbc) == 0) {
登录后复制

调试问题

使用 mysqli_query() 函数在第 13 行分配变量 $dbc。但是,检查查询会发现错误:

$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");
登录后复制

查询尝试使用“INNER JOIN”连接“users”和“profile”表,但“profile”和“profile”之间没有连接条件任何其他表。结果,查询返回 false(布尔值 false)。

解决方案

要解决该错误,必须更正查询以包含正确的连接条件。以下是更正后的查询:

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

通过此更正,查询将返回有效的 MySQL 结果集,从而允许 mysqli_num_rows() 正确运行。

以上是为什么 `mysqli_num_rows()` 返回'期望参数 1 为 mysqli_result,给定布尔值”?的详细内容。更多信息请关注PHP中文网其他相关文章!

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