首页 >后端开发 >php教程 >为什么 `mysql_fetch_array()` 显示'期望参数 1 为资源”以及如何修复它?

为什么 `mysql_fetch_array()` 显示'期望参数 1 为资源”以及如何修复它?

Linda Hamilton
Linda Hamilton原创
2024-12-22 20:17:12619浏览

Why Does `mysql_fetch_array()` Show

理解“mysql_fetch_array()/mysql_fetch_assoc()/mysql_fetch_row()/mysql_num_rows 等...期望参数 1 为资源”错误

当您遇到此错误时,表明数据库检索功能之一(例如,正在使用无效参数调用 mysql_fetch_array()、mysql_fetch_assoc() 等)。具体来说,该参数应该是代表数据库结果集的资源,但它是一个布尔值。

错误原因

此错误的根本原因错误通常是数据库查询失败。当查询失败时,mysql_* 函数/方法返回 false,这可能会被误解为布尔值。因此,当您随后使用错误结果调用检索函数时,会导致此错误。

修复错误

要解决此问题,您必须请按照以下步骤操作:

  1. 检查查询结果:验证mysql_query() 调用通过检查其结果不会返回 false。
  2. 处理查询失败:如果查询失败,则触发错误或进行适当处理。
  3. 确保参数正确:将正确的结果资源传递给检索函数,而不是失败的布尔值

示例

考虑以下代码:

$username = mysql_real_escape_string($_POST['username']);
$password = $_POST['password'];
$result = mysql_query("SELECT * FROM Users WHERE UserName LIKE '$username'");

if($result === FALSE) {
    trigger_error(mysql_error(), E_USER_ERROR);
}

while($row = mysql_fetch_array($result)) {
    echo $row['FirstName'];
}

在这个示例中,我们首先检查 mysql_query( ) 并在查询失败时触发错误。然后,我们正确地将 $result 资源传递给 mysql_fetch_array() 函数。这可确保使用适当的参数,从而防止发生错误。

以上是为什么 `mysql_fetch_array()` 显示'期望参数 1 为资源”以及如何修复它?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn