sessionu neden fonksiyona gönderiyorsun? Gönderdiğin veriyi neden başka bir değişkene atıyorsun? Başka değere atadığın veriyi pdo bind için kullanmak yerine neden doğrudan fonksiyona gelen parametresini atamıyorsun?

Fonksiyonun ikinci parametresini bir değişkene atıyorsun ama o değişken işlevsiz, sadece atamış ve bırakmışsın bunun mantığı ne?

$db değişkeni fonksiyon içinde belirtilmemiş dolayısıyla $db değişkeni geçersizdir, eğer $db değişkenin başka bir dosya içinde tanımlandıysa bunu "global $db;" şeklinde fonksiyonuna dahil etmen lazım.

Deneme yanılma yoluyla yapmak yerine anlayarak adım adım kod yazman daha yararlı olur.