Я новичок в CodeIgniter, PHP и MySQL. Я хочу обработать ошибки, вызванные БД. Из одного из сообщений в Stackoverflow я знал, что, следуя заявлению, можно поймать ошибку.
$this->db->_error_message();
Но я не могу разобраться в точном синтаксисе использования этого. Предположим, я хочу обновить записи таблицы с именем «table_name» следующим выражением:
$array['rank']="8"; $array['class']="XII"; $this->db->where('roll_no',$roll_no); $this->db->update("table_name", $array);
Здесь, в приведенном выше коде, я хочу поймать ошибку БД всякий раз, когда происходит нарушение уровня БД, т.е. либо имя поля недопустимо, либо имеет место какое-то уникальное нарушение ограничений. Если кто-нибудь поможет мне исправить это, я буду очень благодарен. Спасибо.
codeIgniter имеет для этого функции
$this->db->_error_message(); $this->db->_error_number(); if(!$this->db->update("table_name", $array)) { $this->db->_error_message(); $this->db->_error_number(); }
Вы можете отлаживать ошибку базы данных в конфигурации базы данных в (config / database.php) следующим образом:
$db['default']['db_debug'] = TRUE;
Подробнее читайте здесь
Также вы можете использовать Profiler для просмотра всех запросов и их скорости. В контроллере вы можете поместить это:
$this->output->enable_profiler(TRUE);
Подробнее читайте здесь
На Codeigniter версии 2,
$this->db->_error_message(); $this->db->_error_number();
На Codeigniter версии 3,
$db_error = $this->db->error(); echo '<pre>';print_r($db_error);echo '</pre>';