Cara yang tepat untuk membersihkan data untuk dimasukkan ke dalam database Anda adalah dengan menggunakan placeholder untuk semua variabel yang akan dimasukkan ke dalam string SQL Anda. Dengan kata lain, JANGAN PERNAH melakukan ini:
my $sql = "INSERT INTO foo (bar, baz) VALUES ( $bar, $baz )";
Sebagai gantinya, gunakan ?
tempat penampung:
my $sql = "INSERT INTO foo (bar, baz) VALUES ( ?, ? )";
Dan kemudian berikan variabel yang akan diganti saat Anda menjalankan kueri:
my $sth = $dbh->prepare( $sql );
$sth->execute( $bar, $baz );
Anda dapat menggabungkan operasi ini dengan beberapa metode praktis DBI; di atas juga dapat ditulis:
$dbh->do( $sql, undef, $bar, $baz );
Lihat dokumen DBI untuk informasi lebih lanjut.