在控制器内部我想插入数据库:
public function insertAction() {
try {
$this->load->model('action');
$_POST['laDate'] = $this->input->post('ladate_') == '' ? '' : $this->dates->convertDateToFormatBase($this->input->post('ladate_'), '');
$_POST['dateCreation'] = "now()";
$action_id = $this->action->ajouter($_POST);
if (isset($_POST['verificateurs'])) {
$this->load->model('actionVerificateur');
$this->actionVerificateur->inserer($action_id, $_POST['verificateurs']);
}
$this->load->view('ajax/insertAction', array('action_id' => $action_id));
}
catch (Exception $e) {
$this->load->view('ajax/insertAction', array('action_id' => 0));
}
}
数据库表的某些列存在unique
约束。因此,当违反此约束时,我想捕获异常。但似乎我的代码没有抓住它!那么如何捕捉异常?
答案 0 :(得分:0)
我找到了一个解决方法:我测试了$this->db->insert_id()
是否为数字!因为在引发异常的情况下,返回的值是一个用<DOCTYPE>
开头的html代码。