#1 12. April 2007 Verschiende Syntax Hey, ich habe nur eine kleine Frage Mein Script geht MITTLERWEILE :/ Also ich habe bei meinem Gästebuch folgenden INSERT-Code: PHP: $sql = "INSERT INTO gb (name, wohnort, email, nachricht, datum, ip) VALUES ('" . $_POST [ 'name' ]. "', '" . $_POST [ 'wohnort' ]. "', '" . $_POST [ 'email' ]. "', '" . $_POST [ 'nachricht' ]. "', ' $date ', '" . $_SERVER [ 'REMOTE_ADDR' ]. "')" ; So, klappt alles wunderbar. Die gleiche Art (nur andere Daten) habe ich im auch im Bereich Links, Playlist, Home und eig überall. Nur im Bereich "Downloads" geht der INSERT-Code nicht. Ich habe ewig umprobiert und habe dann mal PHP: $sql = "INSERT INTO `downloads` anstatt PHP: $sql = "INSERT INTO downloads ausrpbiert. Also nur die beiden `` sind neu und dann ging es komischerweise. Jetzt meine Frage: Warum geht es immer ohne und EINMAL brauche ich die beiden ``? Greetz + Multi-Zitat Zitieren
#2 12. April 2007 AW: Verschiende Syntax Der Thread hier mag dir wahrscheinlich shcon helfen ... ich persönlich habe die backticks nie gesetzt. SELFHTML Forumsarchiv / 2003 / Dezember / MySQL, PHP und die Backticks + Multi-Zitat Zitieren
#3 12. April 2007 AW: Verschiende Syntax Dazu ist mein php'isch wohl zu schlecht Versteh kein Wort auf dem selfHTML-Thread. Ich benutze eig auch so wenig wie möglich, aber irgendwie MUSS ich sie auf meiner HP unter "Downloads" machen... sonst nirgends. Danke für deinen Link, bw für dich + Multi-Zitat Zitieren
#4 12. April 2007 AW: Verschiende Syntax Sieht stark so aus als würdest du die Werte der Variablen völlig ungeprüft in die Datenbank schreiben. Da kann man leicht eine SQL-Injection durchführen. Schau dir mal folgenden Link an: PHP: String-Funktionen - Manual (scroll ein bisschen runter, da kommt das Inhaltsverzeichnis mit den Stringfunktionen und was sie bewirken) Und wenn du willst, dass die Zeilenumbrüche von der Textarea "nachricht" in der Datenbank auch erhalten bleiben solltest du das hier machen: PHP: $nachricht = nl2br ( $_POST [ 'nachricht' ]); #alle \n werden mit <br /> ersetzt mfg, m00pd00p + Multi-Zitat Zitieren
#5 12. April 2007 AW: Verschiende Syntax danke, aber das habe ich Will nur wissen, warum ich einmal die Backticks brauche und ein anderes mal nicht btw: es reich, wenn man sie nur mit nl2br aussliest, man muss sie nicht auch damit in die DB schreiben. + Multi-Zitat Zitieren
#6 12. April 2007 AW: Verschiende Syntax Nabend, also in diesem Thread hab ich diesen Satz gelesen ... "Kann man - muß man aber nicht. (`) Dient nur dazu, reservierte Worte auch als Namen nutzen zu können, was in meinen Augen nicht sehr sinnvoll ist." Jo das mit den SQL Injections stimmt. Hatte es aber nicht extra betont. Hab hier auch bereits eine funktion die das effektiv verhindert gepostet, mal SuFu mit Typecasting und Formular. 2. Muss man bei modernem Webdesign nl2br nichtmehr im Ansatz benutzen, denn der Zeilenumbruch erfolgt bei ordentlichem HTML (sowohl Eingabe als auch Ausgabe) mit CSS. + Multi-Zitat Zitieren
#7 12. April 2007 AW: Verschiende Syntax Ich hab jetzt mal ein bisschen gegoogled und das einzige was ich gefunden habe, warum die backticks genommen werden müssen (nur bei bestimmten Fällen) ist, wenn die ausdrücke schon reserviert sind in mysql (z.B. key). Lass dir doch mal denn mysql_error() ausgeben, wenn du die backticks wegnimmst. Edit: Sry, habe mir deinen Link nicht angeschaut :S, aber wörtlich ausgedrückt hast dus nicht wirklich...nur gesagt, dass du keine backticks benutzt mfg, m00pd00p + Multi-Zitat Zitieren
#8 12. April 2007 AW: Verschiende Syntax Da warst du leider deutlich zu langsam weil die erste Antwort zu diesem Thread, dieses bereits ausgedrückt hat und ich es nochmal wörtlich wiederholt habe ... aber da wir zwei jetzt schon der auffassung sind, sollte sich der verdacht doch erhärtet haben. + Multi-Zitat Zitieren
#9 13. April 2007 AW: Verschiende Syntax Schwachsinn. Werte sollte in der Datenbank ohne jegliche formatierung gespeichert werden, wozu der HTML-Code in dem DB-Eintrag ? Dies sollte man erst bei der ausgabe formatieren! + Multi-Zitat Zitieren
#10 13. April 2007 AW: Verschiende Syntax Ohne Backticks: 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 'load (artist, track, laenge,groesse, dateiname, homepage, download' at line 1 Mit Backticks geht alles. Also das mit dem reserviert hört sich ja sehr gut an. Das lasse ich mal als Antwort gelten Vielen Dank für eure Hilfe, bw für alle Off Topic: Also ich bin auch der Meinung, das ich das Zeug erst bei der Ausgabe formatieren sollte. Schönen Dag noch + Multi-Zitat Zitieren