登录时发生SQL错误警告:mysql_num_rows()希望参数1是资源

登录时发生SQL错误警告:mysql_num_rows()希望参数1是资源,mysql,sql,Mysql,Sql,我收到这个错误 Warning: mysql_num_rows() expects parameter 1 to be resource 尝试使用我创建的用户名/密码登录时。这行代码给了我错误 if(mysql_num_rows($checklogin) == 1) 下面是代码 $checklogin = mysql_query("SELECT * FROM users WHERE Username = '".$username."' AND Password = '".$password

我收到这个错误

Warning: mysql_num_rows() expects parameter 1 to be resource
尝试使用我创建的用户名/密码登录时。这行代码给了我错误

if(mysql_num_rows($checklogin) == 1)
下面是代码

 $checklogin = mysql_query("SELECT * FROM users WHERE Username = '".$username."' AND Password = '".$password."'");

    if(mysql_num_rows($checklogin) == 1)
    {
        $row = mysql_fetch_array($checklogin);
        $email = $row['EmailAddress'];

        $_SESSION['Username'] = $username;
        $_SESSION['EmailAddress'] = $email;
        $_SESSION['LoggedIn'] = 1;

        display_user_profile();
    }

mysql函数都已弃用,不再受支持。您应该强烈地考虑切换到PDO()。

这里是一个流行的问题-您的查询失败,并产生了布尔<代码> false 结果,您使用它而不首先检查它是有效的。此外,您的代码还存在一些安全问题:SQL注入、未加密密码、未加密密码。我检查了它,但删除了代码以进行检查。不管怎样我都把它修好了