sql >> Database >  >> RDS >> Mysql

Codeigniter laat me de invoer niet bijwerken, omdat sommige velden uniek moeten zijn

gebruik de terugbelbevestigingsfunctie

$this->form_validation->set_rules('email', 'Email', 'required|valid_email|callback_check_user_email');

function check_user_email($email) {        
    if($this->input->post('id'))
        $id = $this->input->post('id');
    else
        $id = '';
    $result = $this->user_model->check_unique_user_email($id, $email);
    if($result == 0)
        $response = true;
    else {
        $this->form_validation->set_message('check_user_email', 'Email must be unique');
        $response = false;
    }
    return $response;
}

in model

    function check_unique_user_email($id = '', $email) {
        $this->db->where('email', $email);
        if($id) {
            $this->db->where_not_in('id', $id);
        }
        return $this->db->get('user')->num_rows();
    }

gebruik hetzelfde voor de gebruikersnaam....



  1. Lighty Inkoopavontuur

  2. Subquery retourneert meer dan 1 rij - MySQL

  3. Hoe genereer je een unieke id in MySQL?

  4. MySQL selecteer rijen waar de datum niet tussen de datum ligt