यह एक उदाहरण है जहां तैयार बयानों . का उपयोग किया जा रहा है वास्तव में आपको कुछ परेशानी से बचाता है।
MySQL में, एक शून्य मान डालने के लिए, आपको इसे INSERT
. पर निर्दिष्ट करना होगा समय या उस क्षेत्र को छोड़ दें जिसके लिए अतिरिक्त शाखाओं की आवश्यकता है:
INSERT INTO table2 (f1, f2)
VALUES ('String Value', NULL);
हालांकि, यदि आप उस फ़ील्ड में कोई मान सम्मिलित करना चाहते हैं, तो अब आपको सिंगल कोट्स जोड़ने के लिए अपने कोड को ब्रांच करना होगा:
INSERT INTO table2 (f1, f2)
VALUES ('String Value', 'String Value');
तैयार बयान स्वचालित रूप से आपके लिए ऐसा करते हैं। वे string(0) ""
. के बीच का अंतर जानते हैं और null
और अपनी क्वेरी उचित रूप से लिखें:
$stmt = $mysqli->prepare("INSERT INTO table2 (f1, f2) VALUES (?, ?)");
$stmt->bind_param('ss', $field1, $field2);
$field1 = "String Value";
$field2 = null;
$stmt->execute();
यह आपके लिए आपके क्षेत्रों से बच निकलता है, यह सुनिश्चित करता है कि आप पैरामीटर को बांधना न भूलें। mysql
. के साथ बने रहने का कोई कारण नहीं है विस्तार। mysqli
का उपयोग करें और यह तैयार स्टेटमेंट
है बजाय। आप अपने आप को दर्द की दुनिया से बचा लेंगे।