salah Skrevet 27. mai 2010 Del Skrevet 27. mai 2010 Under normale tilstander laster jeg database-klassen på normal måte ved å kalle den, og bruker $db->Query("SELECT ...", "NavnPåSpørring"); og bruker $db->res['navnPåSpørring']; for å få resultatene og evt. $db->num['NavnPåSpørring']; for å få antall rader. Men i et annet tilfelle er jeg nødt til å bruke class User extends Db, og her får jeg brukt Db::Query("SELECT ...", "NavnPåSpørring"); men sitter fast på hvordan jeg kan få ut resultatene fra klassen (der jeg tidligere brukte $db->res['NavnPåSpørring'] eller $db->num['NavnPåSpørring']). Har noen forslag til hvordan jeg kan bruke dette? Db-klassen: class Db { var $handle; var $num; var $res; /*public $query; protected static $_instance = null; public static function getInstance($mysql_host, $mysql_user, $mysql_pass, $mysql_db) { if(is_null(self::$_instance)) { self::$_instance = new self($mysql_host, $mysql_user, $mysql_pass, $mysql_db); return self::$_instance; } }*/ function Connect($mysql_host, $mysql_user, $mysql_pass, $mysql_db) { $this->handle = @mysql_connect($mysql_host, $mysql_user, $mysql_pass) or die("CONNECTION FAILED:". $mysql_host); @mysql_select_db($mysql_db); } function Query($query, $store = "flush") { if (stristr($query, "SELECT")) { $check = TRUE; $this->res[$store] = @mysql_query($query, $this->handle); } else { $check = TRUE; $this->res[$store] = @mysql_unbuffered_query($query, $this->handle); } if (mysql_error()) { echo mysql_error() . "<br>\n"; echo $query; } if ($check === TRUE) { $this->num[$store] = @mysql_num_rows($this->res[$store]); } else { $this->num[$store] = @mysql_affected_rows($this->res[$store]); } } Lenke til kommentar
Jonas Skrevet 28. mai 2010 Del Skrevet 28. mai 2010 (endret) Jeg skjønner ikke hvorfor du vil at user-klassen skal arve fra database-klassen. Går ut ifra at du vil kjøre spørringer mot databasen fra user-klassen, men dette er ikke måten å gjøre database-klassen tilgjengelig derifra på. Når det er sagt, så skal det sies at dersom du velger å gjøre det som du gjør, så må ikke kalle statisk på database-metodene dine. <?php class User extends Db { public function whatever () { $this -> Query ( 'SELECT ..', 'n00bcake' ); echo $this -> num ( 'n00bcake' ); } } ?> Endret 28. mai 2010 av Jonas Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå