Вопрос

Можно ли указать, что 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 ...

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top