Welcome toVigges Developer Community-Open, Learning,Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
2.2k views
in Technique[技术] by (71.8m points)

php - How to check unique email in multiple table using codeigniter?

public function unique_email($email)
{
    $this->db->select('*');
    $this->db->from('instructor, student');
    $this->db->where('instructor.email',$email); 
    $this->db->or_where('student.email',$email);
    $sql = $this->db->get();
    $result = $sql->num_rows();
    return $result;
}

In the above query I am simply trying to get unique email id in multiple tables but the above query doesn't work. I don't know why?


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

Change your TRUE and FALSE as well check in controller:

In Model

 public function unique_email($email) 
    {
        $this->db->select('*');
        $this->db->from('instructor');
        $this->db->join('student', 'instructor.email = student.email');
        $this->db->where('instructor.email',$email);
    
        $query = $this->db->get();
        if ($query->num_rows() > 0)
        {
            # email exist
            return false;
    
        }
        else {
            # new/fresh email
           return true;
    
        } 
    }

Controller :

function email_exists($email) {
    $result = $this->Register_model->unique_email($email);

    if ($result == TRUE) {
        echo "Email Exists";
    } else {
        echo "New Email";
    }   

}

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to Vigges Developer Community for programmer and developer-Open, Learning and Share
...