Дано:
Заведомо ошибочное подключение к БД:
$db = new mysqli('db_host', 'db_user', 'db_pass', 'db_name');
if ($db->connect_errno) error_handler(E_USER_ERROR, 'Текст ошибки', '', '', array(), 'MYSQL');
Кастомный обработчик ошибок, который пишет в базу:
$log = new mysqli('log_host', 'log_user', 'log_pass', 'log_name');
Проблема:
Так как первый вызов бросает ошибку подключения (некритическую), перед проверкой происходит еще одно соединение с базой, после чего "$db->connect_errno" отдает "0" - нет ошибок.
Подскажите, правильная ли это работа?
И как в таком случае ловить ошибки в запросах?