हम यहां स्ट्रिंग्स के साथ काम करने की संभावना से अधिक हैं, इसलिए आपके मूल्यों के चर को उद्धृत करने की आवश्यकता है।
WHERE ens_cin='$login' AND ens_pass='$password'";
साथ ही, केवल पीडीओ का अपने आप उपयोग करने का मतलब यह नहीं है कि आप SQL इंजेक्शन से सुरक्षित हैं।
एक अंतर्दृष्टि:
सुनिश्चित करें कि आप वास्तव में पीडीओ के माध्यम से जुड़ रहे हैं न कि mysqli_
. मुझे इस प्रकार के प्रश्न अक्सर दिखाई देते हैं।
अगर ऐसा है, तो वे अलग-अलग MySQL API एक-दूसरे के साथ इंटरमिक्स नहीं करते हैं।
अब यह:
$password=$_GET["password"];
GET के माध्यम से पासवर्ड पास करना न तो सुरक्षित है और न ही; आप नहीं जानते कि कौन "सुन रहा है"। आपको पोस्ट का उपयोग करना चाहिए। मैं यह भी आशा करता हूं कि आप पासवर्ड भंडारण के लिए हैश का उपयोग कर रहे हैं न कि सादा पाठ का।
सिडेनोट:सुनिश्चित करें कि आप वास्तव में GET का उपयोग कर रहे हैं और POST के साथ मिश्रित नहीं हैं, क्या यह HTML फॉर्म से आना चाहिए।
आप शायद त्रुटियों की जाँच नहीं कर रहे हैं।
जोड़ें $idconnex->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
कनेक्शन खुलने के ठीक बाद।
त्रुटि रिपोर्टिंग जोड़ें आपकी फ़ाइल (फ़ाइलों) के शीर्ष पर जो त्रुटियों को खोजने में मदद करेगी।
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
// rest of your code
सिडेनोट: त्रुटि रिपोर्टिंग केवल स्टेजिंग में की जानी चाहिए, न कि प्रोडक्शन में।