Thread Eingaben lesen und in MySql DB schreiben
(16 answers)
Opened by leo11 at 2009-09-02 20:02
Wenn du das einfügen so machst:
Code (perl): (dl
)
1 2 $st=$dbi->prepare(q{INSERT INTO X ("W1", "W2") VALUES (?,?)}); $st->execute($wert1,$wert2); Wenn du das Einfügen aber so machst: Code (perl): (dl
)
$dbi->do(qq{INSERT INTO X ("W1","W2") VALUES ($wert1,$wert2)}); DBI bietet zwar eine Funktion, des Entwerten von Geschützten Zeichen aber die ist nicht immer zuverlässig. Das Problem ist grundsätzlich, dass der String wie er ist zur DB gesendet wird als ganzes interpretiert wird und die Perl-Variablen schon ersetzt worden sind. Stehen aber "?" als Platzhalter darin weiß die DB, dass nach dem "prepare" Daten mittels "execute" nachgeschoben werden und braucht sie nicht aus den SQL-String heraus schneiden, oder sonst wie zu interpretieren. |