php - mysql_fetch_array()/mysql_fetch_assoc()/mysql_fetch_row()/mysql_num_rows 等...期望参数 1 是资源

标签 php mysql

我正在尝试从 MySQL 表中选择数据,但我收到以下错误消息之一:

mysql_fetch_array() expects parameter 1 to be resource, boolean given

这是我的代码:

$username = $_POST['username'];
$password = $_POST['password'];

$result = mysql_query('SELECT * FROM Users WHERE UserName LIKE $username');

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

最佳答案

查询可能因各种原因而失败,在这种情况下,mysql_* 和 mysqli 扩展将从它们各自的查询函数/方法中返回 false。您需要测试该错误情况并相应地进行处理。

mysql_ extension :

NOTE The mysql_ functions are deprecated and have been removed in php version 7.

在将它传递给 mysql_fetch_array 之前检查 $result。你会发现它是 false 因为查询失败了。请参阅 [mysql_query][1] 文档以了解可能的返回值以及如何处理它们的建议。

$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'];
}

关于php - mysql_fetch_array()/mysql_fetch_assoc()/mysql_fetch_row()/mysql_num_rows 等...期望参数 1 是资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31449949/

相关文章:

PHP strtotime() 看起来需要欧元格式

用于 google appengine 访问的 php 包装库

mysql - 在 Rails 中监控站点性能的最佳方法是什么

php - 选择数据库中具有多个实例的用户

mysql - 哪个 RDMS 用于 Tableau 连接?

html - fatal error : Uncaught error Call to undefined function mysql_real_escape_string() HTML/PHPMYADMIN

php - 除非首字母大写,否则 Mod_rewrite 不适用于某些规则? HTTPS服务器

php - 如何在php和mysql中的每个页面使用登录脚本

php - 如何使用 ODBC 连接在 PHP 中获取结果集中的计数或行数?

php - 从 mySql 获取数据并回显它 - PHP