अपने डेटाबेस में डालने के लिए डेटा को साफ करने का उचित तरीका प्लेसहोल्डर्स का उपयोग करना है। सभी चरों को आपके SQL स्ट्रिंग्स में सम्मिलित करने के लिए। दूसरे शब्दों में, ऐसा कभी न करें:
my $sql = "INSERT INTO foo (bar, baz) VALUES ( $bar, $baz )";
इसके बजाय, ?
. का उपयोग करें प्लेसहोल्डर:
my $sql = "INSERT INTO foo (bar, baz) VALUES ( ?, ? )";
और फिर जब आप क्वेरी निष्पादित करते हैं तो बदले जाने वाले चरों को पास करें:
my $sth = $dbh->prepare( $sql );
$sth->execute( $bar, $baz );
आप इन कार्यों को कुछ डीबीआई सुविधा विधियों के साथ जोड़ सकते हैं; ऊपर भी लिखा जा सकता है:
$dbh->do( $sql, undef, $bar, $baz );
देखें DBI डॉक्स अधिक जानकारी के लिए।