गो में एसक्यूएल क्वेरीज़ को प्रभावी ढंग से तैयार करना
टेक्स्ट में मानों के साथ स्ट्रिंग्स को जोड़ना एसक्यूएल क्वेरीज़ गो में थोड़ा मुश्किल हो सकता है। पायथन के विपरीत, गो का स्ट्रिंग फ़ॉर्मेटिंग सिंटैक्स अलग तरह से व्यवहार करता है, जिससे सामान्य त्रुटियां होती हैं जैसे यहां सामने आई हैं। -स्टाइल टपल, जो गो में समर्थित नहीं है। इसके परिणामस्वरूप सिंटैक्स त्रुटि होती है:
query := fmt.Sprintf(`table_name से column_name चुनें जहां column1_name = %d और column2_name = %d`, (val1, val2))
बेमेल प्रकार
query := fmt.Sprintf(`SELECT column_name FROM table_name
WHERE column1_name = %d AND column2_name = %d`,
(val1, val2))
क्वेरी := fmt.Sprintf(`table_name से column_name चुनें जहां column1_name = %d और column2_name = %d`, val1, val2)
ऑपरेटर बेमेल से बचें
query := fmt.Sprintf(`SELECT column_name FROM table_name
WHERE column1_name = %d AND column2_name = %d`,
val1, val2)
query := fmt.Sprintf(`table_name से column_name चुनें जहां column1_name = %s और column2_name = %s`, strconv.Itoa(val1), val2)
The Go Solution
query := fmt.Sprintf(`SELECT column_name FROM table_name
WHERE column1_name = %s AND column2_name = %s`,
strconv.Itoa(val1), val2)
query := fmt.Sprintf(`table_name से column_name चुनें जहां column1_name = %d और column2_name = %s`, val1, val2)
यह सिंटैक्स इंजेक्शन कमजोरियों से बचाता है और उचित प्रकार के रूपांतरण को सुनिश्चित करता है।query := fmt.Sprintf(`SELECT column_name FROM table_name
WHERE column1_name = %d AND column2_name = %s`,
val1, val2)
SQL इंजेक्शन हमलों को रोकने के लिए, हमेशा तैयार का उपयोग करें उपयोगकर्ता द्वारा प्रदत्त इनपुट के लिए कथन या एस्केप वर्ण प्रदान करें।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3