finalmente ho trovato l'errore! penso che sia un bug di PHP...dunque come ho riportato nel codice qui sopra creo delle variabili di classe protected fra cui una di nome '$password' in una classe di uso generale. Ne ho poi una specifica che estende quella generale e che usa anch'essa una variabile public di nome '$password'. in pratica:
Codice PHP:
class Generale {
protected $host;
protected $userName;
protected $password;
protected $database;
function __construct() {
$this->host = 'localhost';
$this->userName = 'username';
$this->password = 'password';
$this->database = 'db';
}
//resto della classe
}
class xyz extends Generale{
public $nome;
public $indirizzo;
public $password; // qui nasce l'errore!
//resto della classe
}
$generale = new Generale();
$xyz = new xyz();
$xyz->password = 'abcdef';
in pratica la variabile password di xyz sostituisce la medesima della classe generale, perciò non potevo entrare nel database perchè usava la password sbagliata! per risolvere il problema ho cambiato il nome di password in xyz:
Codice PHP:
class xyz extends Generale{
public $nome;
public $indirizzo;
public $passwd; // correzione errore!
//resto della classe
}
$xyz = new xyz();
// ora funziona tutto correttamente ed entro pure nel database!
$xyz->passwd = 'abcdef';