无法检查用户登录或电子邮件和密码SQL

时间:2017-03-25 16:35:09

标签: php sql

我想让我的用户通过电子邮件或登录进行登录。

我的数据只是电子邮件/密码或登录/密码,必须识别出来。

这是SQL查询

SELECT * FROM users WHERE ( login = :login OR email = :email ) AND password = :password

对我来说很好,但是当我想在我的方法中使用它时:

public function login(){
    require("db.php");
    $stmt = $pdo->prepare('SELECT * FROM users WHERE ( login = :login OR email = :email ) AND password = :password');
    $stmt->bindParam(":login",$this->login);
    $stmt->bindParam(":email",$this->login);
    $stmt->bindParam(":password",$this->password);
    $stmt->execute();
    var_dump($stmt->fetch(PDO::FETCH_ASSOC)); // RETURN false
}

它不起作用,数据肯定是正确的。 这有什么问题?

编辑: 此查询有效(无括号)但当然不正确:

SELECT * FROM users WHERE login = :login OR email = :email AND password = :password
enter code here

0 个答案:

没有答案