Hi,
ich habe anfangs eine Klasse geschrieben die von der Pear MDB2 erbt. Wenn ich die Methoden in meiner neuen Klasse nicht überschreibe, dann müssten mir doch alle Methoden von MDB2 (sofern sie protected oder public sind) auch in meiner neuen Klasse zur Verfügung stehen.
Ich bekomme aber ständig die Meldung:
Wenn ich die reine MDB2 Klasse einsetze, funktioniert es.
Was mache ich denn da falsch?
Meine Klasse db.php
Hier der Aufruf:
ich habe anfangs eine Klasse geschrieben die von der Pear MDB2 erbt. Wenn ich die Methoden in meiner neuen Klasse nicht überschreibe, dann müssten mir doch alle Methoden von MDB2 (sofern sie protected oder public sind) auch in meiner neuen Klasse zur Verfügung stehen.
Ich bekomme aber ständig die Meldung:
PHP-Code:
Fatal error: Call to undefined method db::query()
Was mache ich denn da falsch?
Meine Klasse db.php
PHP-Code:
require_once "PEAR/MDB2.php";
class db extends MDB2 {
const DB_TYPE = 'mysql';
const DB_USER = 'test';
const DB_PASS = 'test';
const DB_HOST = 'localhost';
const DB_DATABASE = 'web1_test';
public function __construct() {
$dsn = array(
'phptype' => self::DB_TYPE,
'username' => self::DB_USER,
'password' => self::DB_PASS,
'hostspec' => self::DB_HOST,
'database' => self::DB_DATABASE
);
$this->connect($dsn);
}
public function __destruct() {
// $this->disconnect();
}
}
PHP-Code:
$db = new db();
$res =& $db->query('SELECT * FROM example');
while (($row = $res->fetchRow())) {
echo $row[0] . "\n";
}
Kommentar