首页 > 解决方案 > 查询在行中返回 0

问题描述

我正在构建一个带有用户注册的应用程序。每当我用一些东西填充字段时,我都会遇到问题,结果只显示 0 作为记录。此外,我还有一个验证功能,用于检查某些邮件是否已被使用,下一个问题是,即使我输入一个新名称和电子邮件以插入数据库,它也表明它已经在数据库中使用。

public function findUserByEmail($email) {
    $this->db->query('SELECT * FROM users WHERE email = :email');
      // Bind value
    $this->db->bind(':email', $email);
    $row = $this->db->single();
      // Check row
    if($this->db->rowCount() > 0){
        return true;
    } else {
        return false;
    }
}

标签: phpmysql

解决方案


您正在准备查询,正在绑定值,但您确定正在执行查询吗?如果使用准备好的语句,这是我希望看到的形式:

  $stmt = $this->db->prepare('SELECT * FROM users WHERE email = :email');
  $stmt->execute([ ':email' => $email ]);

推荐阅读