Niedawno dostałem do przerobienia projekt php i pomimo, iż php znam tylko troszkę, jakoś sobie radze. Jednakże ostatnio napotkałem na problem, z którym bardzo długo wałczyłem ponieważ php nie wyświetlał zdanego błędu. Nawet w logach niczego nie było po mimo, ze w pliku php.ini włączone jest logowanie błędów, a na stronce php ustawione jest @error_reporting(E_ALL).
Błąd plegal na tym, że w pewnym przypadku zmienna używana w klauzurze WHERE w SELECT była pustym stringiem:
Np. SELECT * FROM tabela WHERE nazwa = $zmienna_nazwa;
I tak gdy $zmienna_nazwa = „” to select wyglądał oczywiście tak:
„SELECT * FROM tabela WHERE nazwa = „
I w tym momencie stronka sie zawieszała, nie generując żadnej informacji o błędzie.
Dlaczego? Próbowałem też całość kodu umieścić w klauzurze TRY CATCH , ale to też nie pomogło.