Tut es nur augenscheinlich.
Schreib mal ein error_reporting(E_ALL); an den vor die Schleife, du wirst eine "Notice"-Fehlermeldung bekommen.
Desweiteren bei dem Beispiel oben werden ja Daten aus der db eingelesen, wenn nun, aber keine gefunden werden, würde das Array $tmp gar nicht erst angelegt werden und wenn du es später dann später z.B. in einer foreach schleife abarbeiten willst, würdest du nicht nur eine E_NOTICE bekommen sondern eine E_WARNING, die besagt das foreach eben ein Array erwartet und nicht eine Variable vom Typ null.
Huhu.
Nun, ich habe eine einfache Frage zu einem Query, es geht um folgenden :
Beim Ausführen sagt der Browser mir folgendes :
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE `id` = '6'' at line 1
Ich frage mich, warum er das sagt.
Vielleicht bin ich gerade blind und sehe den einfachen Fehler nicht, aber meine Augen zeigen mir, dass ich nach dem Einbinden der ID in den Query ein ' stehen habe und die anderen " als Abgrenzungen zum String gebraucht werden.
Wieso kriege ich diesen Fehler?
EDIT : Jaaa. INSERT mit UPDATE vertauscht xD
--Droggelbecher.
Geändert von Tessio (17.09.2008 um 13:09 Uhr)
Zudem niemals Variablen (Vorallem Request-Variablen) ungeparsed an n' Query anhängen.
Desweiteren sind die ' bei numerischen Werten unnötig.
Request-Variablen sind (neben $_REQUEST natürlich) $_POST, $_GET, $_COOKIE und $_FILES (sowie deren $HTTP_*_VARS Pendants). $_SESSION besteht nicht aus Daten, die der User übermittelt hat, daher sollte es kein zu großes Problem sein, sie direkt zu benutzen. Natürlich wäre folgendes sauberer:
Hier wird sichergestellt, dass $_SESSION['spieler_id'] eine Zahl ist und $_SESSION['y'] wird vorher mit mysql_real_escape_string() behandelt, um ' zu escapen. Aber wenn man davon ausgeht, dass die Variablen bereits beim Setzen verifiziert wurden, ist das unnötig. Denn wenn jemand die Session-Variablen, die aufm Server gespeichert werden, verändern kann, hat man noch ganz andere Probleme.
Da man die MySQL-Api mit neueren MySQL-Versionen eh nicht mehr benutzen sollte, sondern die MySQLi API oder PDO, kann man ggf. auch auf Statemants zurück greifen und somit auf escaping verzichten:
http://de3.php.net/manual/de/mysqli.prepare.php
http://de3.php.net/manual/de/pdo.prepare.php
Wie definiere ich in meiner .css Link-Farben (Hover, Active, Visited...) für einzelne DIVs? Die in #navi sollen andere Farben als die in #main haben.
Hab mal ein bisschen rumprobiert, bin aber nicht wirklich zu einem Ergebnis gekommen.
Einfacher geht es eig. nicht^^. Nur meine ich das du bei den pseudo-classen eine feste Reihenfolge einhalten musst, wenn nicht habe ich Blödsinn gelernt xD.
/edit: *zurück edetier*![]()
Geändert von Xardas der Dunkle (27.09.2008 um 14:11 Uhr)
*verwirrt bin*
Fragt er, wieso ändert ihr dann das #main a:link auf #main a:hover o_Ô?Zitat
Das war doch nur ein Beispiel.
Wenn ihr es so genau haben wollt: