CodeIgniter - как отлавливать ошибки БД? - PullRequest
60 голосов
/ 21 октября 2011

Есть ли способ заставить CI выдать исключение при обнаружении ошибки БД вместо отображения сообщения, подобного:

Произошла ошибка базы данных. Номер ошибки: 1054 Неизвестный столбец 'foo' в 'предложении where' SELECT * FROM (FooBar) WHERE foo = '1'

ПРИМЕЧАНИЕ. Я хочу, чтобы это происходило только на одном контроллере. В других контроллерах я рад, что он отображает сообщения об ошибках DB .

Ответы [ 11 ]

0 голосов
/ 25 марта 2018

Если используется PDO, дополнительно ко всем ответам выше.

Я регистрирую свои ошибки молча, как показано ниже

        $q = $this->db->conn_id->prepare($query);

        if($q instanceof PDOStatement) {
           // go on with bind values and execute

        } else {

          $dbError = $this->db->error();
          $this->Logger_model->logError('Db Error', date('Y-m-d H:i:s'), __METHOD__.' Line '.__LINE__, 'Code: '.$dbError['code'].' -  '.'Message: '.$dbError['message']);

        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...