(PHP 5)
mysqli_report — Включает или выключает протоколирование во внутренних функциях
$flags
)mysqli_report() довольно мощный механизм для совершенствования текста ваших запросов и кода на этапе разработки и отладки. В зависимости от установленных флагов эта функция заносит в журнал ошибочные вызовы mysqli функций или запросов, которые не используют индекс (или используют плохой индекс).
flags
Имя | Описание |
---|---|
MYSQLI_REPORT_OFF |
Выключает протоколирование |
MYSQLI_REPORT_ERROR |
Протоколирование ошибок mysqli функций |
MYSQLI_REPORT_STRICT |
Вместо предупреждений выбрасывать исключение mysqli_sql_exception |
MYSQLI_REPORT_INDEX |
Записывать в журнал тот факт, что в запросе использовался плохой индекс или индекс не использовался вообще |
MYSQLI_REPORT_ALL |
Задать все опции (протоколировать все) |
Возвращает TRUE
в случае успешного завершения или FALSE
в случае возникновения ошибки.
Версия | Описание |
---|---|
5.2.15 & 5.3.4 | Изменение режима протоколирования. Теперь режим задается для каждого запроса, в отличие от каждого процесса, как было ранее. |
Пример #1 Объектно-ориентированный стиль
<?php
/* активация протоколирования */
mysqli_report(MYSQLI_REPORT_ALL);
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");
/* проверка подключения */
if (mysqli_connect_errno()) {
printf("Не удалось подключиться: %s\n", mysqli_connect_error());
exit();
}
/* этот запрос должен отчитаться об ошибке */
$result = $mysqli->query("SELECT Name FROM Nonexistingtable WHERE population > 50000");
/* этот запрос должен отчитаться об использовании плохого индекса */
$result = $mysqli->query("SELECT Name FROM City WHERE population > 50000");
$result->close();
$mysqli->close();
?>