mysqli e implementazione in un oggetto

Ciao ragazzi,

non avendo nulla da fare  mi ero messo a perdere un po' di tempo con mysqli.

Il mio scopo era quello di creare due classi. una per la connessione al database e una per l'esecuzioni di query.

La prima classe la chiamavo database e la seconda record

Nel costruttore di database settavo una cosa del genere

$db = new mysqli()....;

ora tecnicamente in $db ci dovrebbe essere la mia classe mysqli...

istanzio la seconda classe

$record = new record($db)

nel costruttore di questa

$this->mysql = $db;

a qusto punto dovrei avere nella mia seconda classe la classe mysqli

se provo in un metodo di questa seconda classe a fare

$this->mysql->query($sql);

mi dice

Couldn't fetch database

non ho ben capito dal sito ufficiale se si tratta di un bug o che altro.

secondo voi è fattibile?

inviato 6 anni fa
ciro.m
X 0 X

Se avessimo il codice php forse sarebbe più facile darti un aiuto...

risposto 6 anni fa
Mario Santagiuliana
X 0 X

volevo fare una cosa del genere

class db
{
function connetti()
{
 $this->mysql = new mysqli(....);
}
}


class seconda
{
function __construct()
{
$this->db = parent::$mysql
}
}

il discorso è motlo semplice

io definisco una classe mediante singleton in cui in una variabile di questa classe metto l'oggetto mysqli.

Ora ho necessità di utilizzare tale oggetto(mysqli).

Penso che l'unico modo sia estendere le classi successive  ma anche cosi facendo non funziona

ad esempio se creo una classe estesa e ci metto dentro

      function __construct($tabella, $host, $user, $pwd, $db_name)
         {
            parent::init($host, $user, $pwd, $db_name);
            $this->db  = parent::mysql;
            //$this->setTable($tabella);
         }

$this->db   risulta vuoto

risposto 6 anni fa
ciro.m
modificato 6 anni fa
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda