MySQL में, एपॉस्ट्रॉफ़ी (एकल उद्धरण) वाली क्वेरीज़ सम्मिलित करने से सिंटैक्स त्रुटियों का सामना करना पड़ सकता है। त्रुटि का सामना करते समय "आपके SQL सिंटैक्स में कोई त्रुटि है...," विशेष रूप से एपोस्ट्रोफ के संबंध में, सफल डेटा प्रविष्टि सुनिश्चित करने के लिए समाधान हैं।
मुख्य समाधान बैकस्लैश (\) का उपयोग करके एपोस्ट्रोफ से बचने में निहित है ) चरित्र। उदाहरण के लिए, स्ट्रिंग "केलॉग्स" को "केलॉग्स" के रूप में लिखना होगा। बैकस्लैश के साथ एपोस्ट्रोफ से बचकर, MySQL निम्नलिखित वर्ण को सिंटैक्स संकेतक के बजाय शाब्दिक के रूप में व्याख्या करता है।
इसके अलावा, प्रविष्टि के लिए डेटा तैयार करते समय MySQL के mysql_real_escape_string() फ़ंक्शन का उपयोग करने की सलाह दी जाती है। यह फ़ंक्शन स्वचालित रूप से एपोस्ट्रोफ़ सहित विशेष वर्णों से बच जाता है, जिससे यह संभावित SQL इंजेक्शन के विरुद्ध एक व्यापक सुरक्षा बन जाता है। निम्नलिखित उदाहरण पर विचार करें:
function insert($database, $table, $data_array) {
$mysql_connect = connect_to_database();
mysql_select_db($database, $mysql_connect);
foreach ($data_array as $key => $value) {
$tmp_col[] = $key;
$tmp_dat[] = "'" . mysql_real_escape_string($value) . "'"; // Escaping
}
$columns = join(',', $tmp_col);
$data = join(',', $tmp_dat);
$sql = 'INSERT INTO ' . $table . '(' . $columns . ')VALUES(' . $data . ')';
$result = mysql_query($sql, $mysql_connect);
if (!$result) {
echo 'MySQL Update Error: ' . mysql_error($mysql_connect);
$result = '';
} else {
return $result;
}
}
इस पद्धति का उपयोग करके, आप सिंटैक्स त्रुटियों या सुरक्षा कमजोरियों के बिना MySQL तालिकाओं में एपोस्ट्रोफ युक्त डेटा सम्मिलित कर सकते हैं।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3