Referenz zu Objekt?

soyo

Erfahrenes Mitglied
Hallo,

da ich schon einige Monate kein PHP-Skripte geschrieben habe, bin ich etwas aus der Übung.
Ich habe eine MySQL-Klasse und eine Login-Klasse. Erst erstelle ich ein Objekt aus der MySQL-Klasse ...

PHP:
$objMySQL = new db_mysql(DB_MYSQL_HOST, DB_MYSQL_USER, DB_MYSQL_PASSWORD, DB_MYSQL_PREFIX, 1, 2);
$objMySQL->setAppName("login");
$objMySQL->selectDB(DB_MYSQL_DB);

... soweit noch nix besonderes.

Nun erstelle ich ein Objekt der Login-Klasse und übergebe diesem das MySQL-Objekt und übergebe noch einige andere, hier unwichtige Parameter:

PHP:
$objLogin = new login($objMySQL, "admin_user", "admin_logins");
$objLogin->checkData(...);

In der checkData()-Methode wird auch auf die Datenbank über das MySQL-Objekt zugegriffen. Aber schon beim ersten Zugriff bekomme ich diesen Fehler:
Call to a member function query() on a non-object ...

Wo liegt das Problem, sicherlich nur ein dummer Denkfehler?

Gruß soyo
 
es wäre hilfreich wenn man einen etwas tieferen einblick in die login klasse erhalten könnte....
PHP5 übergibt eine referenz, php4 eine Kopie....
Jedoch sollte es mit beiden möglich sein die funktionalität es objects auszuführen...
 
Im Konstruktor weise ich der Variable das Objekt zu, welches ich per Parameter übergebe:
PHP:
$this->objMySQL->$objMySQL;

um Beispiel werden am Anfang der checkData()-methode einige Hashwerte überprüft. Sind diese nicht korrekt wird in einer MySQL-Tabelle der missglückte Login gespeichert.

PHP:
$this->saveLogin("wrongHash");
...
private function saveLogin($strFail) {
  $this->objMySQL->query("INSERT INTO ...");
}
 
Manchmal ist man ja auch dumm, hab es genauso in den anderen Klassen auch gemacht. War wohl ehr ein Schreibfehler :(
Funktioniert jetzt alles, vielen Dank.

Gruß soyo
 
Zurück