Myslím si, že objekt PDO je neplatný, protože používáte dvojité uvozovky s metodou/vlastností objektu, v takovém případě musíte použít komplexní řetězcovou notaci ("{$object->property}"
) nebo spojte řetězce pomocí .
(tečka)
$this->db_conn = new PDO("mysql:host=$this->db_host;dbname=$this->db_name", $this->db_user,$this->db_pass);
změnit na:
$this->db_conn = new PDO("mysql:host={$this->db_host};dbname={$this->db_name}", $this->db_user,$this->db_pass);