Probleme mit Klassenvererbung...

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Probleme mit Klassenvererbung...

    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:

    PHP-Code:
    Fatal errorCall to undefined method db::query() 
    Wenn ich die reine MDB2 Klasse einsetze, funktioniert es.

    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();    
        
    }    

    Hier der Aufruf:
    PHP-Code:
    $db = new db();

    $res =& $db->query('SELECT * FROM example');

    while ((
    $row $res->fetchRow())) {
        echo 
    $row[0] . "\n";

    » http://www.htaccess-generator.com

  • #2
    Bitte stell mal die Smilies aus.

    Kommentar


    • #3
      Re: Probleme mit Klassenvererbung...

      Original geschrieben von bweichel
      PHP-Code:
      Fatal errorCall to undefined method db::query() 
      Hier der Aufruf:
      PHP-Code:
      $db = new db();

      $res =& $db->query('SELECT * FROM example');

      while ((
      $row $res->fetchRow())) {
          echo 
      $row[0] . "\n";

      Sollte query nicht static sein ? Dein query Aurfuf ist es zumindest nicht und Fehlermeldung bezieht auf eine statische Methode.

      Kommentar


      • #4
        Wie kommst du auf die Idee, dass die MDB2-Klasse über eine query-Methode verfügt? Guck doch selbst: http://cvs.php.net/viewvc.cgi/pear/M...hp?view=markup.

        Kommentar

        Lädt...
        X