Moin!
ich möchte via PHP Textfelder in einer Datenbank eintragen die auch einfache und doppelte Anführungszeichen beinhalten.
Leider wird der String ab diesen Sonderzeichen immer unterbrochen wenn ich sie via POST-Variable an das SQL-Statement übergebe.
Welche Funktion muss ich nutzen um das zu bewerkstelligen. Zieldatenbank ist PostgreSQL.Hängt davon ab, welche Zugriffsmethode du derzeit benutzt, aber unabhängig davon lautet dein Suchwort "escape" - und das muß man zwingend bei jeder Operation durchführen, in der der Kontext wechselt, so wie bei dir von "String mit einfachem Text" hin zu "String innerhalb eines PostgreSQL-Querys".
Ebenso gilt dies beim Wechsel von "String mit einfachem Text" hin zu "String innerhalb von HTML" - falls du vermeiden willst, dass deine Website für Cross-Site-Scripting anfällig wird.
- Sven Rautenberg
Hallo, Danke für die Info, hab mal probiert.
Mit addslashes($str) wird jedes Anführungszeichen maskiert und ich kann das ganze in die Datenbank eintragen. Aber ich möchte die Zeichen nicht in der Datenbank haben, wie kann ich das bewerkstelligen? Cross-Site-Scripting ist kein wichtiges Thema, da die Anwendung nur im Intranet läuft, aber wäre natürlich gut wenns auch für ne Webseite sicher wäre.
Jo