Ergebnis 1 bis 2 von 2

Thema: OOP Problem

  1. #1
    Snake87
    Gast

    Standard OOP Problem

    Hi Leute ich kann mir folgenden Fehlermeldung einfach nicht erklären:
    "Debug-Fehler: D:\Programme\xampp\htdocs \test.php Zeile 31 - Call to a member function query() on a non-object"
    Code:
    return $this->dbh->query($sql);
    Und hier noch der komplette Code hoffe ihr könnt mir helfen:

    Code:
    <?php 
    
    class mysql&#123;
    
    var $dbh;
    
    function mysql&#40;$user,$pass&#41;
    &#123;
    
    try&#123;
    
    $this->dbh = new PDO&#40;'mysql&#58;host=localhost ;dbname=test',$user,$pass &#41;;
    
    &#125;
    
    catch &#40;Exception $exception&#41;
    
    &#123;
    
    $this->message ="Passwort oder Benutzername falsch!";
    
    $this->exception_handler&#40;$excep tion&#41;;
    &#125; 
    &#125; 
    
    function query&#40;$sql&#41;
    
    &#123;
    
    return $this->dbh->query&#40;$sql&#41;;//Fehlerzeile
    
    
    &#125;
    
    function exception_handler&#40;$except ion&#41;
    &#123;
    
    $message = $this->message; 
    
    echo $message."
    ", $exception->getMessage&#40;&#41;."
    ".
    
    "Im Script".$exception->getFile&#40;&#41;." und in der 
    
    Zeile ".$exception->getLine&#40;&#41;.
    
    " ist der Fehler";
    &#125; 
    &#125; 
    //************************* ************************* ************************* *******
    
    class counter extends mysql
    &#123;
    function test&#40;&#41;
    &#123;
    parent&#58;&#58;query&#40;"INSERT INTO test&#40;abc&#41; VALUES &#40;'irgfgrgrt5'&#41;"&#41;;
    &#125;
    &#125;
    
    $pdo = new mysql&#40;"root",""&#41;;
    $counter = new counter&#40;"root",""&#41;;
    $counter->test&#40;&#41;;
    ?>
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!

  2. #2
    Kaiser(in)
    Registriert seit
    09.12.2005
    Alter
    29
    Beiträge
    2.496
    Danke
    1
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    hi,
    1. wenn du php 5 benutzt, ist das falsch, das ist php4 oop

    oop php5 tut: http://www.professionelle-softwareen...age/index.html
    mysql-oop-tut: http://tut.php-q.net/mysql-class.html

    2. ein counter IST keine mysql-unterklasse sondern HAT eine mysql verbindung, also muss beides getrennt sein, du kannst ja nicht für jedes objekt eine neue mysql-connection erstellen

    3. so sieht meine query-funktion aus:

    Code:
    	public function query&#40;$query&#41; &#123;
    		if&#40;is_resource&#40;$this->connection&#41;&#41; &#123;
    			if&#40;is_resource&#40;$this->result&#41;&#41; &#123;
    				mysql_free_result&#40;$this->result&#41;;
    			&#125;
    		$this->result = mysql_query&#40;$query, $this->connection&#41;;
    		&#125;
    		else &#123;
    			return false;
    		&#125;
    	&#125;
    Sei immer du selbst. Außer du kannst Batman sein. Sei immer Batman!

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •