Łapanie błędów Mysqli

Mam zdefiniowaną niestandardową procedurę obsługi błędów, która przechwytuje wszystkie wyjątki i zapisuje je w dzienniku. W tej chwili, jeśli mam błąd składniowy w zapytaniu mysqli, taki jak literówka, strona całkowicie przestaje się ładować w tym momencie. Nie jest zgłaszany żaden wyjątek, dlatego obsługa błędu nie jest wywoływana i nic nie jest rejestrowane.

Czy to normalne? Czy istnieje ustawienie PHP, które powinienem sprawdzić, aby to naprawić, aby wszelkie błędy zapytania mysqli rzucały wyjątki?

(Nie chcę, aby wyjątek został zgłoszony, jeśli kwerenda zwraca 0 wyników - tylko jeśli wystąpi błąd z powodu literówki lub innego błędu w strukturze zapytania)

Przykładowe zapytanie:

if($result=$db->query('SELECT bad_field_reference FROM table')){while($r=$result->fetch_assoc()){$data[]=$r;}}$result->free();

Jeśli spróbuję wykonać to zapytanie w PHPMyAdmin, powie mi, że kolumna bad_field_reference nie istnieje. Jeśli spróbuję go wykonać jako część skryptu PHP, cała strona przestaje się ładować w tym momencie.

W celu wyjaśnienia Właśnie testowałem, patrząc na źródło strony. Najwyraźniej reszta strony się ładuje - jednak po włączeniu Java niektóre elementy są ukryte, a następnie używam jquery do ponownego wyświetlania niektórych treści w animowany sposób. Te skrypty jquery nie są uruchomione, więc strona prawdopodobnie przestała się ładować.

Więc - teraz 2 pytania - jak mogę zmusić PHP do „złapania” błędu i jak mogę wciąż uruchamiać skrypty w jquery?

questionAnswers(2)

yourAnswerToTheQuestion