Originariamente inviato da whisher
private $db = null;

in connect
if(!is_a($this->db)
{
throw new PDOException('ERROR ');
}
Ancora meglio usa instanceof


grazie alla tua chicca sono riuscito a capire quale fosse il problema.
Ma è una cosa strana ed adesso te la posto:

se l'istruzione è scritta così:
Codice PHP:
$this->db= new PDO('odbc:database''root'''); 
funziona tutto!

se invece la scrivo così :
Codice PHP:
$this->db= new PDO('odbc:database'$this->username$this->password); 
mi ritorna questo errore:
codice:
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HYT00] SQLConnect: 1045 
[MySQL][ODBC 3.51 Driver]Access denied for user 'ODBC'@'localhost' (using password: NO)' in 
C:\Programmi\xampp\htdocs\sito\db_use.php:33 Stack trace: #0 
C:\Programmi\xampp\htdocs\sito\db_use.php(33): PDO->__construct('odbc:database', NULL, NULL) #1 
C:\Programmi\xampp\htdocs\sito\index.php(8): db_use->connect() #2 {main} thrown in 
C:\Programmi\xampp\htdocs\sito\db_use.php on line 33
eppure nel costruttore della mia classe ho definito:
Codice PHP:
public function _construct()
    {
      
$this->hostname="localhost";
      
$this->username="root";
      
$this->password="";
      
$this->databaseName="database";
    } 
è come se non venisse invocata..come mai?