Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Codeigniter nie pozwala na aktualizację wpisu, ponieważ niektóre pola muszą być unikalne

użyj funkcji sprawdzania poprawności oddzwaniania

$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;
}

w modelu

    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();
    }

użyj tego samego dla nazwy użytkownika....



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wysyłanie haseł przez Internet

  2. Dlaczego używać MySQL zamiast plików płaskich?

  3. jak wykonać polecenie mysql DELIMITER

  4. Uzyskaj dostęp do komentarzy pola MySQL za pomocą PHP

  5. zdobądź wszystkie elementy kategorii i jej dziecko