आप मैन्युअल रूप से अपने उपयोगकर्ता नाम के आस-पास रिक्त स्थान जोड़ रहे हैं ताकि ऐसा लगेगा कि यह मौजूद नहीं है:
$query = "SELECT * from User WHERE username=' ".$username." ' ";
^ ^
होना चाहिए:
$query = "SELECT * from User WHERE username='".$username."' ";
तैयार कथन का उपयोग करने से उस समस्या और संभावित sql इंजेक्शन समस्याओं से एक बार में ही बचा जा सकता है:
$query = "SELECT * from User WHERE username=?";
यह भी सुनिश्चित करें कि आप लगातार अपनी तालिका- और कॉलम नामों का उपयोग करते हैं:User
जरूरी नहीं कि User
. जैसा ही हो ।
यह भी नोट करें कि आपको किसी डेटाबेस में सादा-पाठ पासवर्ड कभी भी संग्रहीत नहीं करना चाहिए, आपको नमक और उन्हें हैश करें ।