mysqli_query() 期望参数 1 为 mysqli,给定资源
当尝试使用 mysqli_query() 函数执行 MySQL 查询时,可能会出现“警告:mysqli_query() 期望参数 1 为 mysqli,给定资源”错误。此错误表示第一个参数的类型与预期的资源类型不匹配。
根本原因:
此错误的根本原因通常与混合有关代码中的 mysqli 和 mysql 扩展。这两个扩展不可互换,不能一起使用。
解决方案:
要解决此问题,请确保您在整个代码中使用相同的扩展。如果您使用 mysqli 扩展,则所有与数据库相关的函数都必须使用 mysqli 前缀,例如 mysqli_connect()、mysqli_select_db() 和 mysqli_query()。
在提供的示例中,代码包含以下内容的混合mysql 和 mysqli 函数。要修复此问题,请将以下行替换:
$myConnection= mysql_connect("$db_host","$db_username","$db_pass") or die ("could not connect to mysql"); mysql_select_db("mrmagicadam") or die ("no database");
替换为:
$myConnection= mysqli_connect("$db_host","$db_username","$db_pass") or die ("could not connect to mysql"); mysqli_select_db($myConnection, "mrmagicadam") or die ("no database");
通过进行此更改,您可以确保所有与数据库相关的函数都使用正确的扩展名,即将消除错误并允许 MySQL 查询成功执行。
以上是为什么会出现'警告:mysqli_query() 期望参数 1 为 mysqli,给定资源”错误以及如何修复它?的详细内容。更多信息请关注PHP中文网其他相关文章!