php - php pdo 查询在单独使用时与在函数中使用时给出不同的结果
问题描述
我有一个名为 DB 的类,其中包含一个 CheckEmail 方法,该方法采用一个参数存储电子邮件。此方法检查插入的电子邮件是否已存在于数据库中。当单独使用此方法中的代码块时,它可以正常工作,但是当调用此方法并传递电子邮件时,它不起作用,并且即使插入的电子邮件存在于数据库中,查询也始终返回 0:
Class DB{
private static function connect(){
$pdo = new PDO('mysql:host=127.0.0.1; dbname=testdb; charset=utf8mb4', 'root', '');
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
return $pdo;
}
public static function CheckEmail($email){
$sql = "SELECT email from users where email = :email";
$stmt = self::connect()->prepare($sql);
$stmt->execute(["email"=> $email]);
var_dump($stmt->execute(["email"=> $email]));
$count = $stmt->rowCount();
var_dump($count);//$count is always 0
if($count > 0){
return true;
}
}
}