"INSERT INTO fruit (name, variety) VALUES (%s, %s)" % ("watermelon", "melon")
सचमुच बन जाता है
INSERT INTO fruit (name, variety) VALUES (watermelon, melon)
स्ट्रिंग्स के बजाय, watermelon
और watermelon
स्तंभ हैं। इसे ठीक करने के लिए, अपने %s
. के आस-पास कोट्स लगाएं ।
"INSERT INTO fruit (name, variety) VALUES ('%s', '%s')" % (new_fruit, new_fruit_type)
हालाँकि, आपको इसे इस प्रकार चलाना चाहिए:
cursor.execute("INSERT INTO fruit (name, variety) VALUES (%s, %s)", (new_fruit, new_fruit_type));
ध्यान दें कि हमने %s
. के आसपास के उद्धरण हटा लिए हैं और वेरिएबल्स को execute
. के दूसरे तर्क के रूप में पास कर रहे हैं तरीका। Execute
चर से एसक्यूएल इंजेक्शन को रोकता है और साथ ही उद्धरण चिह्नों में तार लपेटता है।
अधिक जानकारी के लिए, देखें http://mysql-python.sourceforge.net/ MySQLdb.html#some-examples