Non hai bisogno di un paio di occhi nuovi
Non sei un pittore ma un programmatore (presumibilmente).
Quindi, invece di guardare il tuo codice devi eseguire esso. E abilita la segnalazione degli errori.
Oh, l'ho appena notato
E, naturalmente, non dovresti imbavagliare i messaggi di errore!
} catch(PDOException $ex) {
return false;
}
una versione moderna dell'operatore @.
Sbarazzati di TUTTI i try..catch
blocchi nel tuo codice e inizia a usarli solo dopo appreso a cosa servono.
Quindi, per risolvere questo stesso problema e molti altri problemi in futuro
- Sbarazzati di tutti i blocchi try..catch nel tuo codice.
- Abilita la segnalazione degli errori per PDO come descritto nel tag wiki a cui mi sono collegato nei commenti.
- Non utilizzare segnaposto per gli identificatori ma formattali come descritto nel tag wiki a cui mi sono collegato
- Disattiva
display_errors
impostazione se non vuoi che gli errori vengano visualizzati (l'unico motivo per sopprimere i messaggi di errore mi viene in mente).
Inoltre, non dovresti aprire una connessione separata in ogni chiamata di funzione.
Crea una connessione all'inizio del tuo script e poi usa se nella funzione, usando
global $h;