Warning: Missing argument 1 for query() in pfad on line 10

KristophS

Erfahrenes Mitglied
Ich habe zu Übungszwecken eine mysql Klasse geschrieben, die obenstehenden Fehler verursacht.

PHP:
class Query
{
	var $_sql = "";
	var $_result = 0;
	var $_errno = 0;
	var $_error = "";
	
	function Query($sql){
	$this->_sq l= trim($sql); //Zeile 10 der Fehlermeldung
	$this->_result = mysql_query($this->_sql);
}
	
//Fehlerabfang .... usw.
  }

Diese Klasse rufe ich mit
PHP:
$Query = new Query;
$Query->Query("SELECT Name FROM BENUTZER");
auf.

Nun kommt eben der Fehler:
"Warning: Missing argument 1 for query() in pfad on line 10"

Nachdem ich gegoogelt (und übersetzt habe ) bin ich zu dem Ergebnis gekommen ,dass der Parser meckert da das Parameter $sql nicht gesetzt ist
Doch eigentlich sollte das: $_sql = ""; doch diesen abfangen..
Ich bin etwas ratlos ,da ich nichtmehr weiter weiss :(

//Edit ,ich habe mal den Namen Query des Objekts in Frage umgewandelt und schwups kam kein Fehler mehr. Muss also der Objektname != des Methodennames sein?
 
Zuletzt bearbeitet:
Wenn der Funktionsname innerhalb der Klasse gleich dem der Klasse selbst sein sollte, dann ist diese Funktion soweit ich weiß der Konstruktor und wird bei Aufrufen der Klasse gleich ausgeführt. D.h. du hättest wohl schon beim Initialisieren der Klasse den Parameter (also den Querystring) übergeben müssen.

(Korrigiert mich bitte, wenn ich falsch liege...)
 
PHP:
$Query = new Query("SELECT Name FROM BENUTZER");

Hätte das Problem wohl auch geklärt :)
 
Zurück