Bạn sẽ muốn sử dụng trình giữ chỗ và không bao giờ nội suy biến trong chuỗi. Bạn có thể nên sử dụng chế độ taint
và loại bỏ param
của bạn giá trị trước khi sử dụng chúng, nếu sự an toàn là quan trọng đối với bạn. Tài liệu về trình giữ chỗ tại đây
.
Hãy thử một cái gì đó như:
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