mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given in
时间: 2024-09-23 11:07:41 浏览: 55
PHP中mysqli_affected_rows作用行数返回值分析
mysqli_num_rows() 函数是用来从 MySQL 查询结果集中获取行数的,但它期望的第一个参数是一个 mysqli_result 对象,代表查询的结果集。当你看到 "boolean given" 错误提示,意味着传递给它的不是预期的 mysqli_result,而是布尔值(true 或 false),可能是你在函数调用时查询未执行成功,或者是查询结果已经被释放。
解决这个问题需要检查一下代码,确保查询已经正确执行并且返回了一个有效的结果集。通常,在调用 mysqli_num_rows() 之前,应该先使用 mysqli_query() 执行 SQL 语句并捕获其返回值:
```php
// 假设 $conn 是数据库连接,$sql 是你的查询语句
$result = mysqli_query($conn, $sql);
if (mysqli_error($conn)) {
// 检查错误并处理
die("Error executing query: " . mysqli_error($conn));
} else {
$row_count = mysqli_num_rows($result);
// 然后可以安全地使用 $row_count 获取行数
}
```
阅读全文