Nie potrzebujesz świeżej pary oczu
Nie jesteś malarzem, ale programistą (podobno).
Więc zamiast oglądać swój kod, musisz uruchomić to. I włącz raportowanie błędów.
Och, właśnie to zauważyłem
I oczywiście nie powinieneś kneblować komunikatów o błędach!
} catch(PDOException $ex) {
return false;
}
nowoczesna wersja operatora @.
Pozbądź się WSZYSTKICH try..catch
bloki w kodzie i zacznij ich używać dopiero po nauczeniu się, do czego służą.
Tak więc, aby rozwiązać ten problem, a także wiele innych problemów w przyszłości
- Pozbądź się wszystkich bloków try..catch w kodzie.
- Włącz raportowanie błędów dla PDO, jak opisano w tagu wiki, do którego połączyłem się w komentarzach.
- Nie używaj symboli zastępczych dla identyfikatorów, ale sformatuj je zgodnie z opisem w tagu wiki, do którego się połączyłem
- Wyłącz
display_errors
ustawienie, jeśli nie chcesz, aby błędy były wyświetlane (jedyny powód ukrywania komunikatów o błędach, jaki przychodzi mi do głowy).
Ponadto nie powinieneś otwierać osobnego połączenia w każdym wywołaniu funkcji.
Utwórz jedno połączenie na początku skryptu, a następnie użyj if w funkcji, używając
global $h;