0
$query = $db->prepare("SELECT id FROM users WHERE username = :username AND password = :password");
$query->bindValue(":username", $lName);
$query->bindValue(":password", imu($lPass));
var_dump(imu($lPass));
try {
    $query->execute();
    $result = $query->fetchAll(PDO::FETCH_ASSOC);
} catch (PDOException $e) {
    die($e->getMessage());
}

我正在尝试选择用户 ID,具体取决于他们是否输入了有效的登录名。我尝试只使用“WHERE username = :username”并且有效,它返回 id,但是当我添加密码部分或仅密码检查时,它返回 null。如您所见,我检查了 var_dump 并且它转储的密码是正确的,它存在于数据库中。密码使用我自己的加密系统进行哈希处理,并返回各种字符。这个特定的密码是:“®Ç+¥J:àhMaÕú¡HW”。

我想知道是否有办法通过密码检查来获取 id,或者我是否必须编辑我的 hash'er 以便它返回字母数字字符?

4

1 回答 1

0

如果无论如何要通过密码检查来获取ID

是的。

我是否必须编辑我的哈希器才能返回字母数字字符?

不。

某些字符的唯一问题可能是它们的编码。

设置您的密码字段[var]binary()或进行排序utf8_bin

于 2013-08-21T14:54:18.273 回答