Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Codeigniter không cho phép tôi cập nhật mục nhập, vì một số trường phải là duy nhất

sử dụng chức năng xác thực cuộc gọi lại

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

trong mô hình

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

sử dụng tương tự cho tên người dùng ....



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để lấy và hiển thị các giá trị lớn nhất từ ​​cơ sở dữ liệu?

  2. LỖI MySql! Máy chủ thoát mà không cập nhật tệp PID

  3. mysql hamming khoảng cách giữa hai phash

  4. Làm thế nào để tạo công việc Cron để sao lưu MySQL và sao lưu FTP vào máy chủ sao lưu của tôi?

  5. làm thế nào để lưu các thẻ (từ khóa) trong cơ sở dữ liệu?