Probleme mit Klassenvererbung...

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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.

    Comment


    • #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.

      Comment


      • #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.

        Comment

        Working...
        X