आपके द्वारा प्रदान किया गया उदाहरण खराब उपयोगकर्ता इनपुट के लिए पहले विश्लेषण किए बिना डेटाबेस में पोस्ट वर्र्स को सम्मिलित करता है। अपने डीबी के साथ बातचीत करने के लिए उपयोग करने से पहले टाइप कास्टिंग, एस्केपिंग/फ़िल्टर फ़ंक्शंस, तैयार कथन इत्यादि का उपयोग करें।
उपयोगकर्ता इनपुट पर कभी भी भरोसा नहीं करना एक सामान्य नियम है। कभी भी!
चेक आउट करें:एसक्यूएल इंजेक्शन को रोकने का सबसे अच्छा तरीका PHP में
आपके प्रश्न के उत्तर में, यहां बताया गया है कि आप पीडीओ द्वारा तैयार किए गए कथनों का उपयोग करके पूरे फॉर्म को कैसे संभालेंगे।
$stmt = $db->prepare('INSERT INTO Persons (FirstName, LastName, Age) VALUES (:first_name, :last_name, :age)');
$stmt->execute(array(':first_name' => $first_name,':last_name' => $last_name, ':age' => $age));
यदि आप अपने द्वारा पूछे गए रिकॉर्ड में केवल एक कॉलम सम्मिलित करना चाहते हैं, तो सिंटैक्स होगा:
$stmt = $db->prepare('INSERT INTO Persons (FirstName) VALUES (:first_name)');
$stmt->execute(':first_name', $first_name);