Обработка ошибок MySQLi - PullRequest
6 голосов
/ 29 мая 2010

Можно ли указать, что MySQLi отправляет любые ошибки и предупреждения в директиву PHP error_log по умолчанию? Кажется, я не могу найти какие-либо варианты ошибок для спецификации класса, и я не хочу обрабатывать ошибки вручную, например:

if ($result = $mysqli->query("...")) {  }
else
    handle $mysqli->error;

1 Ответ

5 голосов
/ 29 мая 2010

Ну, один из способов переопределить класс:

class myMySQLi extends MySQLi {

    public function query($query, $resultmode = MYSQLI_STORE_RESULT) {
        $res = parent::query($query, $resultmode);
        if (!$res) {
            //handle error
        }
        return $res;
    }
}

Тогда просто используйте как обычно, за исключением того, что вместо создания соединения через new MySQLi(), используйте new myMySQLi(). Помимо обработки ошибок, он будет работать точно так же. Я делаю это довольно часто, чтобы генерировать исключения при ошибках и добавлять дополнительные функции в MySQLi ...

...