理解“mysql_fetch_array()/mysql_fetch_assoc()/mysql_fetch_row()/mysql_num_rows 等...期望参数 1 为资源”错误
当您遇到此错误时,表明数据库检索功能之一(例如,正在使用无效参数调用 mysql_fetch_array()、mysql_fetch_assoc() 等)。具体来说,该参数应该是代表数据库结果集的资源,但它是一个布尔值。
错误原因
此错误的根本原因错误通常是数据库查询失败。当查询失败时,mysql_* 函数/方法返回 false,这可能会被误解为布尔值。因此,当您随后使用错误结果调用检索函数时,会导致此错误。
修复错误
要解决此问题,您必须请按照以下步骤操作:
示例
考虑以下代码:
$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中文网其他相关文章!