Myślę, że obiekt PDO jest nieprawidłowy, ponieważ używasz podwójnych cudzysłowów z metodą/właściwością obiektu, w takim przypadku musisz użyć złożonej notacji ciągów ("{$object->property}"
) lub połącz ciągi za pomocą .
(kropka)
$this->db_conn = new PDO("mysql:host=$this->db_host;dbname=$this->db_name", $this->db_user,$this->db_pass);
zmień na:
$this->db_conn = new PDO("mysql:host={$this->db_host};dbname={$this->db_name}", $this->db_user,$this->db_pass);