मैंने देखा कि जब मैं PreparedStatement
का उपयोग करता हूं तो यह कुछ जंगली-कार्ड वर्णों जैसे '%' या '_' से बचने के लिए प्रतीत नहीं होता है। मुझे पता है कि बैकस्लैश का उपयोग करके इन्हें माईएसक्ल में से बचाया जा सकता है। इससे मुझे आश्चर्य हुआ, PreparedStatement
भागने वाले कौन से पात्र होंगे?तैयार किए गए चरण से बचने वाले कौन से पात्र होंगे?
उत्तर
PreparedStatement
कुछ भी नहीं बचता है - यह प्रीकंपील्ड स्टेटमेंट्स के लिए डेटाबेस समर्थन पर निर्भर करता है।
वह है, PreparedStatement
कभी भी शाब्दिक क्वेरी स्ट्रिंग बनाने के लिए पैरामीटर मानों के लिए ?
एस को प्रतिस्थापित नहीं करता है। इसके बजाए, यह डेटाबेस में प्लेसहोल्डर के साथ एक क्वेरी स्ट्रिंग भेजता है और क्वेरी पैरामीटर को बांधने के लिए डेटाबेस समर्थन का उपयोग करता है (हालांकि, यह जेडीबीसी ड्राइवर कार्यान्वयन पर निर्भर हो सकता है)।
मेरे परीक्षण में, यह एकल उद्धरण चिह्न, \r
, \t
, \n
और इससे आगे निकलता है। यह बहुत अच्छा काम करता है:
String sql = "INSERT INTO test(title) VALUES(?)";
PreparedStatement stmt = con.prepareStatement(sql);
String title = "I'm a \"student\" in a \t (university) \r\n";
stmt.setString(1, title);
stmt.executeUpdate();
यह आपके ड्राइवर/डीबी के लिए विशिष्ट हो सकता है। जैसा कि एक्स्टाव उल्लेख किया गया है, अधिकांश स्वचालित रूप से इनपुट से बच नहीं पाते हैं। – Leigh
- 1. तैयार किए गए पैरामीटर
- 2. लोड किए गए एसएफएफ़ चरण के आयाम
- 3. यूआरएल में कौन से पात्र मान्य हैं?
- 4. PHP: तैयार किए गए बयानों का उपयोग करके और एसक्यूएल इंजेक्शन बनाम से बचने के लिए
- 5. हेस्टोर से बचने में जेडीबीसी तैयार कथन
- 6. .NET Regex में किस पात्र से बचने की आवश्यकता है?
- 7. यूआरएल एंकर में कौन से दो विभाजक पात्र काम करेंगे?
- 8. HTML पर कौन से पात्रों से बचने की आवश्यकता है?
- 9. वीबी न्यूलाइन से बचने वाले चार?
- 10. स्ट्रिंग से बचने वाले पात्रों पर प्रतिस्थापित
- 11. स्थानांतरित किए जाने वाले वस्तुओं से स्थानांतरित हो गए हैं?
- 12. सीएलआर 4.0 में कौन से ऑपकोड पेश किए गए थे?
- 13. सभी भागने वाले पात्र क्या हैं?
- 14. क्या PHP पीडीओ तैयार बयानों से बचने की जरूरत है?
- 15. पीपी-टोकन के लिए कौन से पात्र शेष हैं?
- 16. शाखा के नाम के भीतर कौन से पात्र अवैध हैं?
- 17. मॉडलिंग कार्ड गेम के लिए तैयार किए गए जावास्क्रिप्ट लाइब्रेरी?
- 18. कैसे पता लगाएं कि कौन से वर्ग लोड किए गए हैं, जिनमें से जेएआरएस?
- 19. जावा तैयार किए गए स्टेटमेंट को अंतिम डाला गया आईडी
- 20. सीएसएस कक्षा के नामों में कौन से पात्र व्यापक रूप से समर्थित हैं?
- 21. jQuery: डेटा पोस्ट करने के लिए उपयोग किए गए JSON स्ट्रिंग से बचने वाले AJAX फ़ंक्शन को कैसे रोकें
- 22. HTTP क्वेरी स्ट्रिंग में कौन से वर्ण बचने चाहिए?
- 23. गतिशील रूप से जेनरेट किए गए मॉडल
- 24. यह निर्धारित करना कि कौन से वर्ग यूनिट परीक्षण से अधिक लाभान्वित होंगे?
- 25. बंद ब्रेसिज़ से बचने
- 26. सीपीयू बाध्य कौन से एप्लिकेशन डोमेन हैं और बहु-कोर प्रौद्योगिकियों से लाभान्वित होंगे?
- 27. टक्कर से बचने वाले आयतों को बाहर निकालें (एल्गोरिदम सहायता)
- 28. सभी एचटीएमएल से बचने वाले संदर्भ क्या हैं?
- 29. तैयार किए गए चरित्र वर्ग का उपयोग करें और इसे
- 30. स्ट्रिंग ByAddingPercentEscapesUsingEncoding से बचने वाले वर्ण क्या हैं?
दिलचस्प, यह समर्थन MySQL के लिए कैसा दिखता है? – stevebot
MySQL सर्वर पक्ष पर उसी तरह तैयार कथन का समर्थन करता है। आपके कोड में यह कैसा दिखता है उस ड्राइवर पर निर्भर करता है जिसका आप उपयोग कर रहे हैं। –
मेरा मानना है कि कई ड्राइवर वास्तव में एसक्यूएल पाठ में बच निकले तर्क पाठ को सम्मिलित करते हैं। –