आपको $secpass
. के आसपास उद्धरण देने की आवश्यकता है क्वेरी में:
$newStudent = $dbh->exec ("INSERT INTO Student (uname, pass, fname, lname, email, currGrade) VALUES('$_POST[reguser]','$secPass','$_POST[regfirst]','$_POST[reglast]','$_POST[regemail]','$_POST[regclassrank]')");
बस एफवाईआई, यहां आपके कोड के साथ कई अन्य समस्याएं हैं। सबसे बड़ी बात यह है कि नमक यादृच्छिक होना चाहिए। आप इसे पासवर्ड के बगल में डेटाबेस में स्टोर कर सकते हैं लेकिन प्रत्येक पासवर्ड के लिए अलग-अलग यादृच्छिक नमक होने से इंद्रधनुष तालिकाओं का उपयोग काफी कम हो जाता है।
दूसरे, और यह एक बहुत बड़ी समस्या है, आपको mysql_real_escape_string()
का उपयोग करके अपने चरों से बचने की आवश्यकता है या पीडीओ का उपयोग करने के लिए अपने डेटाबेस एक्सेस को परिवर्तित करके। अन्यथा आप SQL इंजेक्शन हमलों के रूप में खुद को दर्द की दुनिया के लिए खोल रहे हैं।