Klaus Mock: Sonderzeichen Codierung perl/textarea

Beitrag lesen

Hallo,

Ja, genau das ist mein Problem - wie mach ich das?
Ich kann dem user keine zeichen verbieten
das problem gibts mit allen quotes ('")

Wenn Du mit DBI arbeitest (was ich Dir übrigens dringend ans Herz legen will), dann verwende die Funktion quote. Dabei wird der Eingangs-Text einerseits mit den, für die Datenbank notwendigen, Quotingzeichen eingefaßt, und zusätzlich jedes vorkommende Quotingzeichen maskiert. Auch das erfolgt datenbankspezifisch, da es hier durchaus Unterschiede geben kann.
my($query) = "INSERT INTO table (name)
              VALUES (".$databasehandle->quote($name).")";

Es gibt da noch die Möglichkeit mit bind_param zu arbeiten, aber das unterstützt nicht jede Datenbank.

my($query) = "INSERT INTO table (name)
              VALUES (?)";

$statementhandle = $databasehandle->prepare($query);
$statementhandle->bind_param(1, $value);

Literaturhinweise:
perdoc DBI

Grüße
  Klaus