Salve a tutti,
ho realizzato una classe (Database.php) per l'interazione con la base di dati.
Il sorgente è questo:
Per testarne il funzionamento ho utilizzato il seguente codice:codice:<?php class Database { //Attributi private $name = ""; private $address = ""; private $username = ""; private $password = ""; private $con; //Metodi public function __constuct($address, $name, $username, $password) { $this->address = $address; $this->name = $name; $this->username = $username; $this->password = $password; $this->con = new Mysqli($address, $username, $password, $name); } public function connect() { var_dump($this->con); if( $this->con->connect_errno ) { echo "con fallita: ". $con->connect_error . "."; return false; } else return true; } ?>
Com'è possibile che nonostante il costruttore inizializzi l'attributo $con, nel momento in cui eseguo il var_dump dall'altro metodo (connect), questo mi restituisce NULL come se il costruttore non avesse inizializzato?codice:<?php include("Database.php"); $db = new Database("localhost", "dbname", "user", "pw"); if( $db->connect() ) echo "La connessione è avvenuta con successo"; ?>
Questo problema lo risconto anche con tutti gli altri attributi inizializzati nel costruttore.
Qualcuno saprebbe illuminarmi?
PS: Per richiamare un metodo definito nella classe, all'interno di un altro metodo della medesima classe, qual è la sintassi da seguire?
- Grazie

Rispondi quotando