php – 如何在CodeIgniter中检查多个值是唯一的
发布时间:2020-12-13 17:49:02 所属栏目:PHP教程 来源:网络整理
导读:我有一个用于注册用户的html表单.我想在codeIgniter中应用一个条件,如果有人写了数据库中已存在的2个输入字段(firstname和lastname),则不允许插入数据. 就像我可以写 $this-form_validation-set_rules('firstname','First Name','required|is_unique[student
我有一个用于注册用户的html表单.我想在codeIgniter中应用一个条件,如果有人写了数据库中已存在的2个输入字段(firstname和lastname),则不允许插入数据.
就像我可以写 $this->form_validation->set_rules('firstname','First Name','required|is_unique[student.firstname]'); $this->form_validation->set_rules('lastname','Last Name','required|is_unique[student.lastname]'); 如何申请?两者都应该是独一无二的,但已经存在.我想要“结合独特的价值”之类的东西 例:
如果有人在两个字段中再次写入相同内容,那么我不想在数据库中插入数据,但如果有人写了类似的内容:
那我应该接受用户. 解决方法
您可以在验证中使用回调来完成
$this->form_validation->set_rules('firstname','required|callback_check_user');// call callback function $this->form_validation->set_rules('lastname','required'); 检查名字和最后一个组合的组合 function check_user() { $first_name = $this->input->post('firstname');// get fiest name $last_name = $this->input->post('lastname');// get last name $this->db->select('user_id'); $this->db->from('student'); $this->db->where('firstname',$first_name); $this->db->where('lastname',$lase_name); $query = $this->db->get(); $num = $query->num_rows(); if ($num > 0) { return FALSE; } else { return TRUE; } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |