如何查找电子邮件ID是否在db中注册?

时间:2019-02-28 04:43:54

标签: php

这是我的代码:

<?php  
class Db  
{  

        private $servername = 'localhost';
        private $username = 'root';
        private $password = '';
        private $dbname = 'emp';

        function __construct()
        {
            $this->db = new mysqli(
                $this->servername,
                $this->username,
                $this->password,
                $this->dbname
            );

            if ($this->db->connect_error) {
                die("Connection failed: " . $this->db->connect_error);
            }
        }

        public function insert_record($table, $fields)
        {

            $sql = "";
            $sql .= "INSERT INTO " . $table;
            $sql .= " (" . implode(",", array_keys($fields)) . ")values";
            $sql .= " ('" . implode("','", array_values($fields)) . "')";

            $query = mysqli_query($this->db, $sql);
                   if ($query) {
                         return true;
                  }
        }
    }

    //making object of the class
    $crudobj = new Db;

    //insert code for adding data in to the db
    if (isset($_POST['submit'])) {
        $myArray = array(
            "username" => $_POST["unm"],
            "email" => $_POST["eid"],
            "password" => $_POST["pass"]
        );
       //inserting data
        if($crudobj->insert_record("users", $myArray)) 
        {
        header("location: login.pho")
        }
    }

    ?> 

1 个答案:

答案 0 :(得分:1)

使用您的输入电子邮件进行调用。

if($crudobj->is_email_exists($_POST["eid"]))
{
  echo "Email Already Exist";
}

在您的数据库类中添加以下功能:

public function is_email_exists($email)
{
    if(filter_var($email, FILTER_VALIDATE_EMAIL))
    {
      $email = mysqli_real_escape_string($this->db, $email);;
      $sql = "SELECT email FROM users WHERE email='".$email."';";
      if($result = mysqli_query($this->db, $sql))
      {
          return mysqli_num_rows($result);
      } 
    }    
    return true;
}
相关问题