首页 > 解决方案 > 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;
            }
            
        }
    }

标签: php

解决方案


推荐阅读