Supportnet Computer
Planet of Tech

Supportnet / Forum / Skripte(PHP,ASP,Perl...)

"Call to a member function on a non object"





Frage

Hallo, Ich habe in einem Programm folgende Fehlermeldung: "Call to a member function on a non object on line 103" 100: $sqlr = "Select * from ....."; 102: $resr = $db->Execute($sqlr); 103: $rr = $resr->FetchRow(); Ich kenn mich jetzt leider mit PHP überhaupt nicht aus, aber kann es sein, dass die Fehlermeldung daher kommt, dass die SQL Abfrage keinen Wert zurückliefert.

Antwort 1 von thomasn1975

Nein, das hat nichts mit SQL zu tun, das ist eine Fehlermeldung vom PHP-Interpreter und besagt, dass $db->Execute() kein gültiges Objekt zurückliefert und somit nicht die Methode FetchRow() aufrufen kann.

Antwort 2 von 345435

Danke für Deinen Hinweis. Leider bin ich jetzt auch nicht schlauer. Das db->execute kein gültiges Object zurückliefert und ich damit auch kein FetchRow machen kann besagt ja schon die Fehlermeldung. Aber wann ist den das der Fall, dass ich kein gültiges Object bekomme? Wenn die SQL Abfrage keinen Wert liefert? Von der Syntax her ist die SQL Anweisung oben übrigens absolut korrekt. Den Datensatz nach dem gefragt wird gibt es halt einfach nicht.

Antwort 3 von Supermax

Dann mußt du eben abfragen, ob $resr überhaupt einen von null oder false verschiedenen Wert hat, bevor du $resr->FetchRow() aufrufst...

Antwort 4 von 3434

@Supermax:
Das beantwortet nicht die Frage, ob das Object dann null oder false wird, wenn die SQL Anweisung keinen Wert zurückliefert.

Antwort 5 von Supermax

Das müßte in der Dokumentation der verwendeten Datenbank-Klasse stehen. Ansonsten kann man ja auch einfach abfragen, ob der zurückgegebene Wert ein Objekt ist:

if (is_object($resr)) {
   ...


Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: