अगर आप वो करने की कोशिश कर रहे हैं जो ऐसा लगता है कि आप करने की कोशिश कर रहे हैं... ऐसा करने की कोशिश न करें।
तैयार बयान ऐसा नहीं है (या कम से कम ऐसा नहीं होना चाहिए)।
निष्पादन के लिए सर्वर को भेजने के लिए "समाप्त" क्वेरी उत्पन्न करने के लिए आपका क्लाइंट कोड क्वेरी स्ट्रिंग में मानों को इंटरपोलेट करने का प्रयास नहीं करना चाहिए। यह आपदा के लिए एक नुस्खा है, सुरक्षा की झूठी भावना का उल्लेख नहीं करने के लिए।
तैयार बयान ?
. के साथ बयान देते हैं सर्वर के लिए प्लेसहोल्डर जैसा है, जहां सर्वर निष्पादन के लिए कथन "तैयार" करता है ... और फिर क्लाइंट निष्पादन के लिए सर्वर को पैरामीटर ("बाध्यकारी" पैरामीटर) भेजता है। ऐसा करने से, सर्वर कभी भी भ्रमित नहीं होगा कि "कौन सा हिस्सा SQL है" और "कौन सा हिस्सा डेटा है," जिससे sql इंजेक्शन असंभव हो जाता है और डेटा को अनावश्यक रूप से बचाना और साफ करना होता है।
यदि आप सी-एपीआई के साथ सीधे संवाद नहीं कर रहे हैं तो आपको अपनी लाइब्रेरी में उन विधियों को कॉल करना चाहिए जो आपके लिए उन्हीं कार्यों को उजागर करती हैं।