-3

我已经尝试了 5 个多小时来了解为什么我的查询没有返回我的数据库值,我已经用不同的查询进行了测试以返回我的 _iD,它等于我的用户 ID,我能够连接但我有这是一段艰难的时期。我一直在努力。我不会问我是否没有被严重卡住。

注意:未定义的变量:第 5 行的 _iPassword

注意:未定义的变量:第 8 行的 _iUsername

public function User_Login($_iUsername,$_iPassword) {

    $md5_password = md5($_iPassword);

    $sth = $db->prepare("SELECT _iD FROM users WHERE _iUsername = :username AND _iPassword = :password AND _iStatus = 1");
    $sth->bindValue(":username", $_iUsername, PDO::PARAM_STR);
    $sth->bindValue(":password", $md5_password, PDO::PARAM_STR);
    $sth->execute();

    if ($sth->rowCount() == 1) {
        $row = $sth->fetch(PDO::FETCH_ASSOC);
        return $row['_iD'];
    } else {
        return false;
    }
}

这是我正在转换的 MySQL 中的查询,但我不知道可能出了什么问题..

public function User_Login($username,$password) {
    $username=mysql_real_escape_string($username);
    $password=mysql_real_escape_string($password);
    $md5_password=md5($password);
    $query=mysql_query("SELECT uid FROM users WHERE username='$username' and password='$md5_password' AND status='1'");

    if( mysql_num_rows( $query ) == 1 ) {
        $row = mysql_fetch_array( $query );
        return $row['uid'];
    } else {
        return false;
    }
}
4

1 回答 1

4

由于某种原因,您从错误消息中省略了文件名,而它将成为关键部分。

$sth->bindValue(":username", $_iUsername, PDO::PARAM_STR);
$sth->bindValue(":password", $md5_password, PDO::PARAM_STR);

行不能是第 5 行和第 8 行,因为它们显然是连续的,并且从脚本的开头开始有超过 5 行。

因此,此错误发生在任何其他文件中,或者您正在编辑一个文件但正在运行另一个文件。

请仔细检查所有这些简单的拼写错误,你肯定会发现问题

于 2013-05-23T09:37:50.450 回答