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?