2010-05-28 20 views
6

Czy możliwe jest określenie, że MySQLi wysyła jakiekolwiek błędy i ostrzeżenia do domyślnej dyrektywy "error_log"? I nie wydaje się znaleźć żadnych opcji błędów dla specyfikacji klasy, i nie chcę, aby obsłużyć błędy ręcznie tak:Obsługa błędów MySQLi

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

Odpowiedz

5

Cóż, jednym ze sposobów byłoby zastąpić klasę:

Następnie wystarczy użyć zwykłego, chyba że zamiast tworzyć połączenie przez new MySQLi(), użyj new myMySQLi(). Poza obsługą błędów będzie działał tak samo. Robię to dość często, aby zgłaszać wyjątki dotyczące błędów i dodawać dodatkowe funkcje do MySQLi ...

+0

Witam, dziękuję za odpowiedź. Przypuszczam, że mógłbym to zrobić, jeśli jest to jedyna opcja, ale wydaje mi się dziwne, że błąd wygenerowany przez mysqli ctor może być zalogowany do domyślnego error_log, ale wszelkie błędy, które występują podczas używania obiektu mysqli muszą być obsługiwane ręcznie! – Spoonface