Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Codeigniter tidak mengizinkan saya memperbarui entri, karena beberapa bidang harus unik

gunakan fungsi validasi panggilan balik

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

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

gunakan yang sama untuk nama pengguna....



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kolom Tidak Dikenal dalam Daftar Bidang. PHP + MySQL

  2. Masalah Kunci Daemon MySQL

  3. Dynamic Linq gagal saat menggunakan Berisi melawan Int Field

  4. Aplikasi Seluler Firemonkey dan MySQL jarak jauh

  5. Cara Mengekspor hasil Query menggunakan MySQL Workbench