我想让我的用户通过电子邮件或登录进行登录。
我的数据只是电子邮件/密码或登录/密码,必须识别出来。
这是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