首页 > 后端开发 > php教程 > 为什么 `mysqli_query()` 返回'期望参数 1 为 mysqli,给定 null”?

为什么 `mysqli_query()` 返回'期望参数 1 为 mysqli,给定 null”?

Linda Hamilton
发布: 2024-12-15 00:58:17
原创
338 人浏览过

Why Does `mysqli_query()` Return

警告:mysqli_query() 期望参数 1 为 mysqli,给定 null

尝试使用 mysqli_query 执行 MySQL 查询时会出现此错误(),但为连接对象提供的参数不是有效的 MySQLi 对象。 mysqli_query() 函数期望第一个参数是 mysqli 类的实例。

在提供的代码片段中,错误可能是由于以下原因引起的:

作用域问题

在全局作用域中声明的 mysqli 连接对象 $con 在getPosts() 函数。这会导致 null 值作为第一个参数传递给 mysqli_query(),从而导致错误。

解决方案:

要解决此问题,您可以明确将连接对象作为参数传递给 getPosts() 函数。下面是修改后的代码:

function getPosts(mysqli $con) {
    $query = mysqli_query($con, "SELECT * FROM Blog");
    // ... Rest of the code remains the same
}
登录后复制

现在,当您调用 getPosts() 函数时,请务必将连接对象作为参数传递。

此外,最好启用错误报告并优雅地处理数据库连接问题。这是一个示例:

// Enable error reporting
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);

// Establish database connection
$con = mysqli_connect("localhost", "xxxx", "xxxx", "xxxxx");

// Check connection status
if (!$con) {
    throw new Exception('Failed to connect to MySQL: ' . mysqli_connect_error());
}

// Call the getPosts() function with the connection object
getPosts($con);
登录后复制

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

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