Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wie man Werte bindet INSERT INTO mysql perl

Sie werden Platzhalter verwenden wollen, und niemals Variablen in Strings interpolieren. Sie sollten wahrscheinlich den Taint-Modus verwenden und entfernen Sie Ihren param Werte, bevor Sie sie verwenden, wenn Ihnen Sicherheit wichtig ist. Dokumentation zu Platzhaltern hier .

Versuchen Sie etwas wie:

my @values = map param($_), @account_field_order; # add values to array
push @values, $status;                  # for simplicity
$new_row = join ", ", ("?") x @values;  # add ? for each value

... # basically same code as before, except the execute statement:

$sth->execute(@values);      # arguments given will be inserted at placeholders