如果我有一个名为“ dbo.Usuarios”的表,如何在is_unique验证中插入代码,我是否对Codeigniter 3有问题?问题是is_unique分隔表和带点的列。
问题出在这里:
$is_unique = '|is_unique[dbo.Usuarios.Email]';
您怎么看,我的表名带有一个点,因此系统使用“ dbo” (如表名)和“ Usuarios” (如列名)。
完整代码如下:
$id= $this->session->userdata('user_id');
$tablas = $this->db->query('SELECT * FROM dbo.Usuarios WHERE ID ='.$id.'');
foreach ($tablas->result_array() as $row){
$samemail = $row['Email'];
}
if($this->input->post('email') != $samemail) {
$is_unique = '|is_unique[dbo.Usuarios.Email]';
}
else {
$is_unique = '';
}
$this->form_validation->set_rules('emailf', 'Email', 'trim|required|valid_email|max_length[20]'.$is_unique);
if ($this->form_validation->run() == FALSE)
{
$this->session->set_flashdata('emailunico', 'El Email ingresado ya esta asociado a otra cuenta.');
redirect('escritorio');
}
else {
#othercode
}
答案 0 :(得分:0)
尝试像这样修改db_owner
规则:
is_unique