理解“mysql_fetch_...”预期资源错误
使用 MySQL 函数时,例如 mysql_fetch_array()、mysql_fetch_assoc()、mysql_fetch_row ()和mysql_num_rows,你可能会遇到错误: “mysql_fetch_array()/mysql_fetch_assoc()/mysql_fetch_row()/mysql_num_rows 等...期望参数 1 为资源。”
该错误表明函数的第一个参数不是有效的数据库资源。数据库资源通常是通过成功调用 mysql_query() 获得的。如果 mysql_query() 执行查询失败,则返回 false。
解决问题
要解决此错误,您需要确保查询成功执行在将结果资源传递给获取函数之前。这涉及检查 mysql_query() 的返回值并相应地处理错误条件。
mysql_extension
<?php $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_real_escape_string() 准备查询的用户名字符串,以防止 SQL 注入。我们检查 mysql_query() 的返回值,如果查询失败则触发用户错误。如果查询成功,我们就可以安全地在 mysql_fetch_array() 函数中使用结果资源了。
以上是为什么 MySQL Fetch 函数返回'期望参数 1 为资源”?的详细内容。更多信息请关注PHP中文网其他相关文章!