Jo: Anführungszeichen in Datenbank

Beitrag lesen

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