Я работаю над api, обрабатывает запросы, которые поступают от клиентов, затем получает ответ от сервера (разработан с использованием codeigniter 3) и пересылает его обратно клиент.Codeigniter 3: Не удается поймать ошибку базы данных с помощью блока try catch
Но в случае ошибок базы данных, таких как дубликат идентификатора или нулевые значения, класс модели не может обработать эту ошибку, чтобы отобразить правильное сообщение об ошибке. Я пробовал блок catch try, но пока не удалось. Вот модель:
public function add() {
try {
$this->db->trans_start(FALSE);
$this->db->insert('users', $preparedData);
$this->db->trans_complete();
if ($this->db->trans_status() === FALSE) {
throw new Exception("Database error:");
return false;
}
return TRUE;
} catch (Exception $e) {
log_message('error: ',$e->getMessage());
return;
}
}
Одна вещь, говоря, я установил db_debug ЛОЖЬ.
Любая помощь будет оценена по достоинству.
Перед тем, как вставить, пожалуйста, проверьте значение в базе данных –
Я попытался проверить, но все же он не отображает ошибку. – skm
Как вы его проверяете? Не могли бы вы обновить вопрос с кодом проверки перед вставкой? –