mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, bool given in 解决方法
时间: 2023-12-10 20:42:25 浏览: 507
这个错误通常出现在使用mysqli查询数据库时,查询语句出错或者查询结果为空时。解决方法如下:
1. 检查查询语句是否正确,可以在MySQL命令行进行测试。
2. 检查数据库连接是否正确,确保连接成功后再执行查询操作。
3. 检查mysqli_query()返回值,如果返回false,则说明查询失败。可以使用mysqli_error()函数查看错误信息。
4. 如果查询结果为空,则需要调用mysqli_num_rows()函数来判断结果集中是否有数据。
5. 尽可能地使用参数化查询来避免SQL注入问题。
下面是一个示例代码,演示了如何处理这个错误:
```
<?php
// 连接数据库
$conn = mysqli_connect("localhost", "username", "password", "dbname");
// 检查连接是否成功
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
// 执行查询操作
$sql = "SELECT * FROM mytable";
$result = mysqli_query($conn, $sql);
// 检查查询结果
if (!$result) {
die("Query failed: " . mysqli_error($conn));
}
// 检查结果集中是否有数据
if (mysqli_num_rows($result) > 0) {
// 遍历结果集并输出数据
while ($row = mysqli_fetch_assoc($result)) {
echo "Name: " . $row["name"] . "<br>";
echo "Age: " . $row["age"] . "<br>";
}
} else {
echo "No data found.";
}
// 关闭数据库连接
mysqli_close($conn);
?>
```
阅读全文
相关推荐


















