मैंने इसे /usr/lib/pymodules/python2.6/MySQLdb/connections.py में देखकर सीखा कि इसे connection.escape
कैसे कहा जाता है। . थोड़ा सा सूँघने सेMySQLdb.converters.conversions
. हो जाता है . यहाँ एक अंश है:
{0:, 1:,... :<बिल्ट-इन फंक्शन एस्केप_डिक्ट>, <टाइप 'NoneType'>:<फ़ंक्शन कोई नहीं2NULL 0xae9717c पर>, <प्रकार 'सेट'>:<फ़ंक्शन Set2Str 0xae9709c>, <प्रकार 'str'>:<फ़ंक्शन Thing2Literal 0xae971b4 पर>, <प्रकार 'tuple'>:<अंतर्निहित फ़ंक्शन escape_sequence>, <टाइप 'ऑब्जेक्ट'>:<फंक्शन इंस्टेंस 2 एसटीआर 0xae971ec>, <टाइप 'यूनिकोड'>:'>:<फ़ंक्शन Bool2Str 0xae97294 पर>}
आप इसे इस तरह इस्तेमाल कर सकते हैं:
आयात करें ,2,now),MySQLdb.converters.conversions))# ('1', '2', "'2010-07-24 19:33:59'")
पुनश्च. बॉबी टेबल्स के बारे में:MySQLdb के सामान्य उपयोग के लिए, आपको मैन्युअल रूप से तर्कों से बचने की आवश्यकता नहीं है। cursor.execute
. को कॉल करते समय बस पैरामीट्रिज्ड तर्कों का उपयोग करें , और MySQLdb स्वचालित रूप से आपके लिए तर्कों को उद्धृत करेगा।
उदाहरण के लिए:
sql='छात्रों में डालें (नाम, ग्रेड, दिनांक) मान (%s, %s, %s)'args=("Robert'); ड्रॉप टेबल छात्र; --",60, अभी ) # कोई मैन्युअल उद्धरण आवश्यक नहीं हैकर्सर=कनेक्शन.कर्सर ()cursor.execute(sql,args)