Prima due consigli:
Metti la connessione al db DOPO il check di sessione.
Nel check controlla sempre (prima della query) che la variabile di sessione sia settata.
Poi...non capisco quelle parentesi graffe. Forse è un metodo che non ho mai usato...a cosa servono?