Call to a member function Query() on a non-object in

Fruitgum

Erfahrenes Mitglied
Hallo,

habe die im Titel genannte Fehlermeldung und weis auch nicht mehr weiter

mein codeausschnitt

PHP:
if(!$this->req->getRequest) {
				
				
			while($bool) {
				
				
					$this->sql->Query("SELECT id, timy FROM transactionen WHERE kafer_id='".$this->req->getId()."'"); // Fehlerzeile
					$r = $this->sql->FetchOne();
					
					
					if($r['timy] == '0'):					
						$noAnswer=false;
						$this->sql->Query("UPDATE transactionen SET blume=1 WHERE kafer_id='".$this->req->getId()."'");
					endif;
					
					sleep(1);
					if(time()>=$compareTime) {
						$this->sql->Query("UPDATE transactionen SET timy=2, blume=0, affe='04' WHERE kafer_id='".$this->req->getId()."'");
						$this->sql->Query("INSERT INTO status (transactionid, gelleid, id) VALUES ('".$this->transactionId."','233','1009')");
						$bool=false;
					}
					
				}
			} else {
				
				$rstm = $this->sql->Query("UPDATE transactionen SET timy=2, blume=0 WHERE kafer_id='".$this->req->getId()."'");
			}

die Funktion Query() wir dazugeladen und die funktioniert auch. ich weiß nicht was der Fehler beteutet.

Grüße...
 
Hi

die Fehlermeldung bedeutet das $this->sql kein Objekt ist.
füge mal ein var_dump($this->sql); in deinen Quellcode ein.
 
ja, geht!

Na ja zumindest gibt er nicht mehr den Fehler aus... Er sagt mir jetzt einfach nur NULL ...
 
Das erklärt doch schonmal warum $this->sql kein Objekt ist. Die Variable scheint nicht initialisiert zu sein. Zeige uns doch mal den Code in dem diese Variable initialisiert werden sollte.
 
wird über geben von $sql


PHP:
class lserciMaster {
		
		private $sql;
		private $transactionId;
		private $request;

		private $serviceUser;
		private $servicePassword;
		
		protected $requestDataEncoding="utf-8";
		
		public function __construct($sql, $transactionId ,$request) {
			$this->serviceUser=Config::get("service","user","lserci");
			$this->servicePassword=Config::get("service","password","lserci");
			
			$this->sql=$sql;


.....
 
Ja da passiert gar nichts, nicht einmal NULL wird angezeigt, habe es auch mal weiter unten in einer function probiert, dort kommt ausgabe NULL.
 
jetzt haben wir

<b>Notice</b>: Undefined property: Transaction::$sql in <b>/var.......... libs/Transaction.php</b> on line <b>117</b><br />

hatte zwar ein erro report an, ging aber net...

so hier mal zeite 117 aus der Transaction.php

PHP:
private function cute() {
			$serviceClass = $this->service."Service";
			
			if($this->service!="") {
				require_once(ZEM_ROOT.'/libs/services/'.$serviceClass.'.php');
				$service=new $serviceClass($this->sql, $this->id, $this->request); // hier haben wir zeile 117
			} else {
				//@TODO NO SERVICE
				// hier ist noch bissel code
			}
		}


dann müsste vielleicht $serviceClass der fehler sein...
 
Hi

aus der Fehlermeldung schließe ich mal, dass deine Klasse Transaction keine Variable $sql besitzt. Kannst du uns mal den Aufbau der Klasse zeigen?
 
Zurück