リストを提供することになっています 引数の文字列を含む単一のスカラー引数ではなく、各疑問符に1つずつ。 質問に答えたとき 以前、私はあなたにそうするように言いました:
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
$new_row
の場所 はプレースホルダー文字列であり、引数リストではありません。 しない:
$new_row .= "'" . param($field) . "', ";
...
$new_row .= "'$status'";
$sth->execute(qq($new_row)) or die $DBI::errstr;
$new_row
スカラーであるため、1つの引数としてカウントされます。質問マークの数と同じ長さの配列またはリストが必要です。