mysqli_fetch_object() expects parameter 1 to be mysqli_result, boolean given
时间: 2025-01-02 12:44:42 浏览: 10
mysqli_fetch_object() 函数是用来从 MySQL 查询结果集中获取一行数据并将其转化为 PHP 对象的。当你看到 "mysqli_fetch_object() expects parameter 1 to be mysqli_result, boolean given" 这样的错误提示,这意味着你在尝试调用这个函数时提供的第一个参数是一个布尔值(true 或 false),而不是预期的 mysqli_result 类型。
这个错误通常发生在以下几个场景:
1. **查询失败**:如果你之前使用了像 `mysqli_query()` 或 `mysqli_exec()` 但查询执行失败(返回 false),这时你直接调用了 fetch_object,导致传递了一个布尔值给 fetch_object。
2. **没有执行查询**:如果你忘记执行 SQL 查询,fetch_object 获取不到结果,所以会得到 false,然后触发此错误。
3. **结果集已被遍历完**:如果在之前的循环中已经使用完 fetch_object 或 fetch_array 等遍历函数,结果集会被耗尽,再次调用 fetch_object 会返回 NULL,此时也当作布尔值处理。
解决办法是确认你是否成功执行了查询,并检查 `$result` 变量是否正确地存储了查询结果。正确的使用方法应类似于这样:
```php
$result = mysqli_query($connection, "SELECT * FROM table");
if ($result) {
$row = mysqli_fetch_object($result);
// 处理数据...
} else {
echo "Query failed: " . mysqli_error($connection);
}
```
阅读全文