mysql_query
. का डिज़ाइन फ़ंक्शन ऐसा है कि आपको अपने द्वारा डाले जा रहे डेटा के प्रत्येक बिट से बचने के लिए सावधान रहना होगा, और यदि आप एक भी चूक जाते हैं तो आपका संपूर्ण एप्लिकेशन स्वचालित SQL भेद्यता शोषण उपकरण
।
दोनों mysqli
और पीडीओ समर्थन प्लेसहोल्डर जो आवश्यक . हैं यह सुनिश्चित करने के लिए कि आपके प्रश्न SQL इंजेक्शन बग से सुरक्षित हैं। कॉलिंग mysql_real_escape_string
सब कुछ न केवल थकाऊ है, बल्कि त्रुटि-प्रवण है, और यहीं से समस्याएं उत्पन्न होती हैं।
mysql
फ़ंक्शन PHP के शुरुआती दिनों का एक उत्पाद है और दोनों mysqli
द्वारा पेश की गई नई ऑब्जेक्ट-ओरिएंटेड सुविधाओं की तुलना में काफी अधिक सीमित हैं। एक विकल्प के रूप में, या डिजाइन द्वारा पीडीओ।
इन दो नए इंटरफेस में से किसी एक का उपयोग करने के कई अच्छे कारण हैं, लेकिन सबसे महत्वपूर्ण यह है कि mysql_query
उत्पादन कोड में उपयोग करने के लिए फ़ंक्शन बस बहुत खतरनाक है। इसके साथ आप कुछ बहुत ही गंभीर समस्याओं से हमेशा एक गलती दूर रहेंगे।
पासवर्ड और क्रेडिट कार्ड नंबरों से भरे डेटाबेस के फटने का एक कारण है। एक स्पष्ट SQL इंजेक्शन बिंदु होने से किसी साइट पर पूरी तरह से कब्जा करना लगभग बहुत आसान हो जाता है।