理解“警告:mysqli_query() 期望参数 1 为 mysqli,在”中给出 null
在您创建自定义 CMS 的过程中,您可能遇到过可怕的错误消息:“警告:mysqli_query() 需要参数 1为 MySQLi,其中给出 null。”这个令人沮丧的问题通常是由于对 PHP 函数中变量范围的误解而引起的。
错误原因
该错误表明您的 getPosts() 函数正在尝试访问 $con 变量,该变量存储 MySQLi 连接对象,但在该函数的范围内无法访问它。这是因为 $con 是在 getPosts() 函数之外定义的。
解决方案:将连接作为依赖项传递
要解决此问题,您需要传递连接对象作为 getPosts() 函数的依赖项。通过这样做,该函数可以访问连接并执行必要的数据库操作。
function getPosts(mysqli $con) { // Code to query the database using $con }
防止进一步的错误
为了最大限度地减少潜在问题,请考虑使用以下内容处理连接错误并抛出异常的代码:
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT); // throw exceptions $con = mysqli_connect("localhost", "xxxx", "xxxx", "xxxxx"); getPosts($con);
其他提示
以上是为什么我的'mysqli_query()”函数收到空值而不是 MySQLi 连接对象?的详细内容。更多信息请关注PHP中文网其他相关文章!