Ma 2018.04.21. van  
  
  
    Fórum  
 »QBasic 
 »SmartCard olvasó programozás 
 »We are looking for flash/flex/as3 magician 
 »Test Lead  
 »IT Network Support Engineer  
       
    Letöltés  
  » Longhorn skin (BootSkin)  
  » Infocentrum e-SMS  
  » BootSkin / 1.0 RC0  
       
    Linkek  
  » Programozás.lap.hu  
  » Design&Prog  
  » Panda.lap.hu  
       
    Statisztika  
  » Oldalletöltések száma: 3009208  
MySQL elérés PHP osztályokon keresztül
 Témaindító: kisPocok
| 2007.01.03. 00:55 | Válasz erre 
Üdv, lenne egy Objektum Orientált MySQL lekérdezésem. Találtam egy könyvben, és nem tudok kicsikarni belőle eredményt. Sehogy nem jutok el a lekérdezéshez. Próbálom keresni a megoldást, de ha Valaki tudna segíteni annak hálás lennék. A számozott részek azért vannak megjelőlve, hogy lássam, hogy meddig jut el a program. A stat az adatbázist, a log a tblát jelüli, kéretik konfigolni. Az első "root" a felhasználónév, míg a második a jelszavat takarja. Nem tudom miért, de a "public function fetch_row()" résznél nem megy tovább a dolog. Köszönet!


[code]<?PHP
class DB_Mysql {
protected $user;
protected $pass;
protected $dbhost;
protected $dbname;
protected $dbh; // adatbázis-kapcsolati leíró

public function __construct($user, $pass, $dbhost, $dbname) { // felépíti a $this tagjait
$this->user = $user;
$this->pass = $pass;
$this->dbhost = $dbhost;
$this->dbname = $dbname;
}
protected function connect() { // csatlakozás
$this -> dbh = mysql_pconnect($this->dbhost, $this->user, $this->pass);
if(!is_resource($this->dbh)) {
throw new Exception;
}
if(!mysql_select_db($this->dbname, $this->dbh)) {
throw new Exception;
}
}
public function execute( $query ) { // adatbázisból lekérdez
if(!$this->dbh) {
$this->connect();
}
$ret = mysql_query($query, $this->dbh);
if(!$ret) {
throw new Exception;
}
else if(!is_resource($ret)) {
return TRUE;
} else {
$stmt = new DB_MysqlStatement($this->dbh, $query); //meghívja a másik osztályt
$stmt->result = $ret;
return $stmt;
}
}
}

class DB_MysqlStatement {
public $query;
protected $dbh;
public function __construct($dbh, $query) {
$this->query = $query;
$this->dbh = $dbh;
if(!is_resource($dbh)) {
throw new Exeption("Not a valid database connection");
}
echo "1";
}
public function fetch_row() {
echo "2";
if(!$this->result) {
throw new Exception("Query not executed");
}
return mysql_fetch_row($this->result);
}
public function fetch_assoc() {
echo "3";
return mysql_fetch_assoc($this->result);
}
public function fetchall_assoc() {
echo "4";
$retval = array();
while($row = $this->fetch_assoc()) {
$retval[] = $row;
echo "SIKERES LEKÉRDEZÉS";
}
return $retval;
}
}



$dbh = new DB_Mysql("root", "root", "localhost", "stat");
$query = "SELECT * FROM log";
$stmt = $dbh->execute( $query );



?>[/code]

- kisPocok -
 kisPocok hozzászólása kisPocok részére
| 2007.01.03. 01:04 | Válasz erre 
nem hívtam meg a függvényt :) ennyi az egész :D
[1-15]
 Belépés 
 Azonosító: 
  
 Jelszó: 
  
 
 
 
     
  Libri könyváruház  
  Szerző:  
   
  Cím:  
 
  Kiadó:  
   
   
     
Untitled Document
Megújuljon-e a Programming.hu - tartalmilag és külsőleg egyaránt?
Igen, feltétlenül!
Mindegy...
Nem érdekel
Ne változzon
 
 
Ajánló
CodeX - Szeptembertől nyomtatott formában - Több, mint 220 cikk