理解“警告:mysqli_query() 期望参数 1 为 MySQLi,在中给出 null”错误
在您尝试创建自定义CMS,您遇到以下错误消息:
“警告:mysqli_query() 期望参数 1 为 MySQLi, null Give in"
错误原因
此错误表明执行 SQL 查询的 mysqli_query() 函数需要 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 的稳健性和可靠性。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3