Salve a tutti

ho un problema logico, si può creare un oggetto di una classe in una istanza di un'altra?

per farvi capire eccovi un esempio:

classe uso database (db_use.php)
Codice PHP:
class db_use
 
{
    private 
$databaseName;
    private 
$username;
    private 
$password;
    private 
$hostname;
    private 
$db;

    public function 
_construct()
    {
      
$this->hostname="localhost";
      
$this->username="pippo";
      
$this->password="pippo";

    }
    public function 
_destruct()
    {
    }
    public function 
connect()
    {
      try
      {
        
$this->db= new PDO('odbc:database'$username$password);
        
$res="OK";
      }
      catch(
PDOException $e)
      {
        
$res=$e->getMessage();
      }
      return 
$res;
    }
    public function 
get_up_menu()
    {
        
$i=0;
        foreach( 
$this->db->query('SELECT titolo FROM page WHERE livello=0 ') as $row) ;
        {
           
$res[$i]=$row['titolo'];
           
$i++;
        }
        return 
$res;
    }
 } 
principale (index.php)
Codice PHP:
  $db= new db_use;
  
$conCheck=$db->connect();
  if  (
$conOk="Ok")
  {
    
$menu_up=$db->get_menu_up();
  }
  else
    echo 
$conCheck

ma mi ritorna questo errore:
Fatal error: Call to a member function query() on a non-object in C:\Programmi\xampp\htdocs\sito\db_use.php on line 39


come se non riconoscssse come metodo di PDO query(), come mai?