Salve
Da un paio di giorni sto cercando di capire la programmazione ad oggetti, visto che programmo in maniera diversa (con funzioni ma senza classi).
Dopo diverse letture ho tentato di fare una prima classe che mi permetti di interfacciarmi ad un DB ed ho un problema (credo anche stupido).
Vi posto il codice:
codice:
class ConnessioneDb {
private $host='';
private $hostuser='';
private $hostpass='';
private $hostdatabase='';
//funzione per eseguire la connessione
public function connetti() {
$conn=mysqli_connect ($this ->host, $this ->hostuser, $this ->hostpass, $this ->hostdatabase) or die (mysql_error());
if (!$conn) {
die("mysqli_connect fallita: ". mysqli_connect_error());
exit();
}
}
//funzione per l'esecuzione delle query
public function query($sql) {
$risultato = mysql_query($sql) or die (mysql_error());
return $risultato;
}
//funzione per la disconnessione
public function disconnetti() {
if($this->attiva) {
if(mysql_close()) {
$this->attiva = false;
return true;
}else{
return false;
}
}
}
}
Infine includo questa "libreria" nella mia pagina:
codice:
include 'lib.php';
// istanza della classe
$connessione= new ConnessioneDb();
// chiamata alla funzione di connessione
$connessione-> connetti();
// Query
$connessione->query("SELECT * FROM utenti WHERE ID='1'");
// chiamata alla funzione di disconnessione
$connessione->disconnetti();
Eseguo questa pagina (logicamente con i dati giusti di connessione), e mi da l'errore
"Warning: mysql_query() [function.mysql-query]: Can't connect to local MySQL ser...."
Quindi come se all'esecuzione della funzione query() non son connesso al DB.
Come mai se prima ho lanciato la funzione connetti()?
Credo che per gli esperti sia na stupidata, io che son al 2 giorni di letture sugli oggetti sarei interessato a capire dove sbaglio.
Grazie anticipatamente