mysqli_real_escape_string()
आवश्यक हैं आपके पास डीबी से सक्रिय/स्थापित कनेक्शन होना चाहिए। चूंकि आप m_r_e_s()
कर रहे हैं कनेक्ट होने से पहले कॉल करें, विफलता को इंगित करने के लिए आपको बस बूलियन FALSE वापस मिल जाएगा। तो आप अपने "उद्धृत" मानों को मिटा रहे हैं।
एक स्ट्रिंग में डाले गए बूलियन झूठे मान बस खाली स्ट्रिंग्स में परिवर्तित हो जाते हैं, इसलिए आपके प्रश्न दिखने लगते हैं
SELECT ... WHERE username=''
^---see the boolean false in there?
आपका कोड अनुक्रम होना चाहिए:
session_start();
connect_to_db();
prepare_variables();
do_query();
और चूंकि आप mysqli का उपयोग कर रहे हैं, आप वैसे भी चर से मैन्युअल रूप से क्यों बच रहे हैं? आप केवल एक तैयार कथन + प्लेसहोल्डर का उपयोग कर सकते हैं और समस्या को पूरी तरह से बायपास कर सकते हैं।