htmlentities() SQL के लिए डेटा को सुरक्षित बनाने के लिए अनावश्यक है। XSS भेद्यता से बचने के लिए, HTML आउटपुट में डेटा मानों को प्रतिध्वनित करते समय इसका उपयोग किया जाता है। यह भी एक महत्वपूर्ण सुरक्षा समस्या है जिस पर आपको ध्यान देने की आवश्यकता है, लेकिन यह SQL से संबंधित नहीं है।
addlashes() mysql_real_escape_string के साथ बेमानी है। आप डेटाबेस में अपने स्ट्रिंग्स में शाब्दिक बैकस्लैश के साथ समाप्त होंगे।
जादू उद्धरण का प्रयोग न करें। यह सुविधा कई सालों से बंद है। PHP कोड को ऐसे वातावरण में परिनियोजित न करें जहां जादुई उद्धरण सक्षम हैं। यदि यह सक्षम है, तो इसे बंद कर दें। यदि यह एक होस्ट किया गया वातावरण है और वे जादुई उद्धरणों को बंद नहीं करेंगे, तो एक नया होस्टिंग प्रदाता प्राप्त करें।
ext/mysql का प्रयोग न करें . यह क्वेरी पैरामीटर, लेनदेन, या OO उपयोग का समर्थन नहीं करता है।
अपडेट करें:ext/mysql PHP 5.5.0 (2013-06-20) में पदावनत किया गया था, और PHP 7.0.0 (2015-12-03) में हटा दिया गया था। आप वास्तव में इसका उपयोग नहीं कर सकते।
PDO का इस्तेमाल करें , और तैयार क्वेरी का उपयोग करके अपने प्रश्नों को सुरक्षित बनाएं ।
सुरक्षित SQL लिखने के बारे में अधिक जानकारी के लिए, मेरी प्रस्तुति पढ़ें SQL इंजेक्शन मिथक और भ्रम ।