Undefined Index: Name (PHP)

  • Hey,


    ich wollte gerade eine Spielerklasse für ein UCP erstellen und habe
    nun das Problem, dass die Klasse anscheinend "$Name" nicht kennt.

    PHP
    public function __construct($uid)
        	{
            	$this->UserID = $uid;
            	$qrs = mysql_query("SELECT * FROM accounts WHERE id = '".$this->UserID."'");
            	if(mysql_num_rows($qrs)==0)exit;
            	else {
                	$qdt = mysql_fetch_assoc($qrs);
                	$this->Name = $qdt['Name'];
            	}
        	}


    Code
    Notice:  Undefined index: Name in C:\xampp\htdocs\ucp\user.class.php on line 49


    Wobei ich das oben erstellt habe :S

    PHP
    public $Name;
  • Wenn du an diesem Punkt angelangt bist, kannst du auch direkt einen vernünftigen ORM nutzen.


    Zum Problem: Es liegt nicht am $this->Name, PHP ist es schnuppe ob eine Variable vor der zuweisung je definiert wurde, das gilt auch für Klassenmember. Bei Array-Indexes sieht das aber anders aus, da ist PHP absolut strikt. Ich würde glatt behaupten, die Spalte in deiner Tabelle heißt nicht Name

    Moderator der Bereiche: Coding, Vorstellungsrunde und Handelsecke. Über Verwarnungen, falls du zu den Wenigen gehörst, die eine Verwarnung von mir erhalten haben, kannst du jederzeit mit mir reden, sofern der Umgangston stimmt.


    expect us. / unkompetent. Das neue dynamisch. / easy-stripping.net - coming soon! / "9§. the entire website bestands out of english." / Vollprofi in allem, wo gibt und noch mehr; kann auch OOP.
    Kleine Coding-Frage? Schau doch in #dev im IRC vorbei, wir können dir sicher helfen.


    Ich bin für Aufträge im Bereich der Webentwicklung (z.B. User Control Panel) zu haben. Kontaktiere mich diesbezüglich einfach in einer privaten Nachricht mit deinen, möglichst konkreten, Vorstellungen.


    lesen.denken.posten. - [22:54:14] <Goldkiller2> früher gabs immer so coole user da stand in der signatur "lesen.denken.posten."


    Mafia 2 Multiplayer (m2mp.de) - Eine kostenlose Modifikation für Mafia 2, die es, ähnlich wie SAMP, erlaubt über das Internet oder LAN mit bis zu 1000 anderen Spielern zu spielen.

  • Du solltest die Fehlermeldung mal genauer analysieren. Das Stichwort liegt dabei auf "Index", womit logischerweise nicht die Variable '$Name' gemeint ist, sondern dein Array '$qdt'. Lass dir dein Array mittels print_r($qdt) ausgeben und überprüfe ob der Schlüssel 'Name' dort enthalten ist. (höchstwahrscheinlich nicht)