जैसा कि यहां बताया गया है :क्या mysql_real_escape_string() पूरी तरह से SQL इंजेक्शन से बचाव करता है?
आपके कोड स्निपेट के आधार पर, आपने डेटाबेस को दो बार कनेक्ट किया है।
$db_con=mysql_connect($db_host,$username,$password);
$connection_string=mysql_select_db($db_name);
mysql_connect($db_host,$username,$password);
mysql_set_charset('utf8',$db_con);
और आपने इसके लिए डेटाबेस लिंक पहचानकर्ता की आपूर्ति नहीं की:
$email= mysql_real_escape_string($_POST['email']);
$name= mysql_real_escape_string($_POST['name']);
$sex= mysql_real_escape_string($_POST['sex']);
इसलिए, mysql_set_charset का आपूर्ति किए गए वास्तविक पलायन पर कोई प्रभाव नहीं पड़ता$_POST
बहु-बाइट वर्णों के लिए।
सुझाव
- दूसरा
mysql_connect($db_host,$username,$password);
- स्पष्ट रूप से
$db_con
जोड़ेंmysql_real_escape_string
करते समय