理解“警告:mysqli_query() 期望参数 1 为 MySQLi,在中给出 null”错误
在尝试创建自定义CMS,您遇到以下错误消息:
“警告:mysqli_query()期望参数 1 为 MySQLi,在“
错误原因
中给出的 null MySQLi 对象作为其第一个参数。但是,在 getPosts() 函数中,您传递的是 null 值而不是 MySQLi 对象。
解决方案
此问题的解决方案是确保$con MySQLi 对象在 getPosts() 函数的范围内。在您的代码中, $con 是在全局范围内定义的,但在函数内无法访问它。
将 MySQLi 对象作为依赖项传递
一种方法解决方法是将 MySQLi 对象作为依赖项传递给 getPosts() 函数。具体方法如下:
function getPosts(mysqli $con) { // etc }
通过将 MySQLi 对象作为函数的参数,可以确保它在函数的作用域内可用,并且可以被 mysqli_query() 使用。
其他建议
除了解决范围问题之外,考虑实施以下建议:
这是如何实现这些的示例建议:
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT); // throw exceptions $con=mysqli_connect("localhost","xxxx","xxxx","xxxxx"); if (!$con) { throw new Exception("Failed to connect to MySQL: " . mysqli_connect_error()); } getPosts($con);
通过实施这些建议,您可以确保自定义 CMS 的稳健性和可靠性。
以上是为什么 `mysqli_query()` 返回'警告:mysqli_query() 期望参数 1 为 MySQLi,给定 null”?的详细内容。更多信息请关注PHP中文网其他相关文章!