PHP & MySQL
Thomas
- php
Hallo,
ich hoffe mir kann jemand einen Tipp geben.
Ich schreibe Daten über ein Formular mit folgender Befehlszeile in eine MySQL-Datenbank:
mysql_query("INSERT INTO lexikon (stichwort,text,name,email,url,burl,ip)VALUES("$stichwort","$text","$name","$email","$url","$burl","$ip")");
Wenn in der Variablen $text aber Anführungszeichen stehen wird der Text nicht eingetragen. Was mache ich falsch bzw. muß ich ändern, damit auch Sonderzeichen übernommen werden?
Grüße, Thomas
Hallo (auch) Thomas,
Ich schreibe Daten über ein Formular mit folgender Befehlszeile in eine MySQL-Datenbank:
mysql_query("INSERT INTO lexikon (stichwort,text,name,email,url,burl,ip)VALUES("$stichwort","$text","$name","$email","$url","$burl","$ip")");
Wenn in der Variablen $text aber Anführungszeichen stehen wird der Text nicht eingetragen. Was mache ich falsch bzw. muß ich ändern, damit auch Sonderzeichen übernommen werden?
Jaja, die leidigen Anfuehrungszeichen und Backslashes...
Du suchst vermutlich nach Addslashes/Stripslashes
http://www.php.net/manual/de/function.addslashes.php
Im Querystring wuerde ich statt " eher ' verwenden:
... VALUES('$stichwort','$text','$name','$email','$url','$burl','$ip')");
Zur Verschachtelung von Einfachen/Doppelten Anfuehrungszeichen siehe:
http://www.php.net/manual/de/language.types.string.php
HTH, mfg
Thomas
Moin!
Jaja, die leidigen Anfuehrungszeichen und Backslashes...
Du suchst vermutlich nach Addslashes/Stripslashes
http://www.php.net/manual/de/function.addslashes.php
Nein! Wenn, dann sucht er mysql_escape_string() http://de2.php.net/manual/de/function.mysql-escape-string.php.
Diese Funktion ist weitergehender, als addslashes(), sie nutzt die API von MySQL, und ist damit auch zukunftssicher: Sollten irgendwann irgendwelche weiteren Zeichen escapet werden müssen, wird das mit Sicherheit in der API geändert werden, und man muß sich nicht selbst um diese Änderung kümmern.
addslashes() hat einen grundsätzlich anderen Aufgabenbereich, also sollte man die Funktion auch nur dann einsetzen, wenn diese Aufgabe gefragt ist.
- Sven Rautenberg