हमेशा mysql_real_escape_string
का उपयोग करें स्ट्रिंग्स से निपटने पर जिनमें उद्धरण चिह्न/स्लैश हो सकते हैं। यदि आप ऐसा नहीं करते हैं, तो आपको टूटी-फूटी/दुर्भावनापूर्ण क्वेरी मिलेंगी। serialize()
. का आउटपुट कभी-कभी उद्धरण चिह्न/स्लैश होते हैं, इसलिए आपको इसका उपयोग करना चाहिए। हालांकि सरणी के प्रत्येक आइटम को पहले से क्रमबद्ध करने की कोई आवश्यकता नहीं है।
$details['name'] = $_POST['name'];
$details['email'] = $_POST['email'];
$details['phone'] = $_POST['phone'];
$serializedDetails = mysql_real_escape_string(serialize($details));
एक उदाहरण के रूप में:"हैलो" को क्रमबद्ध करने से आपको यह मिलेगा:s:5:"hello"
।
$data = 's:5:"hello"';
$query = 'INSERT INTO tbl (data) VALUES ("' . $data . '")';
// leads to a syntax error from mysql
// (plus it's a huge security hole)
mysql_query($query);