Guten Abend,
ich habe mit OOP bisher kaum Erfahrungen gemacht und habe eine grundsätzliche Fragen zu diesem Thema. Ich spiele gerade ein wenig mit PEAR rum und nutze dort eine Datenbankklasse (MDB2), Mit HTML-Quickform erstelle ich ein Formular, dessen Werte über eine Callback-Funktion in die Datenbank geschrieben werden sollen.
Der Aufruf der Callback-Funktion geschieht über die Methode process der entsprechenden Klasse.
Ein Objekt der Datenbankklasse erstelle ich folgendermaßen:
Die Callbackfunktion sieht folgendermaßen aus:
Der Code wird mit folgendem Fehler abgebrochen: Fatal error: Call to a member function on a non-object . Mir ist allerdings vollkommen schleierhaft, wie ich die Methoden der Datenbankklasse in der Funktion nutzen kann. Man liest immer wieder von
aber das scheint ja eher die unsaubere Lösung zu sein.
Wäre nett, wenn sich jeman die Zeit nehmen würde einem OOP-Newbie kurz zu helfen.
Mfg
prey
ich habe mit OOP bisher kaum Erfahrungen gemacht und habe eine grundsätzliche Fragen zu diesem Thema. Ich spiele gerade ein wenig mit PEAR rum und nutze dort eine Datenbankklasse (MDB2), Mit HTML-Quickform erstelle ich ein Formular, dessen Werte über eine Callback-Funktion in die Datenbank geschrieben werden sollen.
Der Aufruf der Callback-Funktion geschieht über die Methode process der entsprechenden Klasse.
PHP:
$form->process('formular_verarbeiten');
Ein Objekt der Datenbankklasse erstelle ich folgendermaßen:
PHP:
$dsn = 'mysql://username:passwort@localhost/datenbankname';
$mdb2 =& MDB2::factory($dsn, $options);
Die Callbackfunktion sieht folgendermaßen aus:
PHP:
function formular_verarbeiten($data) {
$res =& $mdb2->query('INSERT INTO......');
}
Der Code wird mit folgendem Fehler abgebrochen: Fatal error: Call to a member function on a non-object . Mir ist allerdings vollkommen schleierhaft, wie ich die Methoden der Datenbankklasse in der Funktion nutzen kann. Man liest immer wieder von
PHP:
global $objekt_der_db_klasse
aber das scheint ja eher die unsaubere Lösung zu sein.
Wäre nett, wenn sich jeman die Zeit nehmen würde einem OOP-Newbie kurz zu helfen.
Mfg
prey