Обработка ошибок MySQLI
-
05-10-2019 - |
Вопрос
Можно ли указать, что MySQLI отправляет любые ошибки и предупреждения на директиву PHP по умолчанию «Error_Log»? Похоже, я не могу найти какие-либо параметры ошибок для спецификации класса, и я не хочу обрабатывать ошибки вручную, как:
if ($result = $mysqli->query("...")) { }
else
handle $mysqli->error;
Решение
Ну, в один из способов переопределить класс:
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 ...
Не связан с StackOverflow