Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

मेरा प्रोग्राम Python में mysql कनेक्टर lib का उपयोग करके MySQL में मानों को संग्रहीत करने में सक्षम नहीं हो रहा है

आप यहां कुछ खतरनाक चीजें कर रहे हैं:

कोई स्ट्रिंग स्वरूपण नहीं (SQL इंजेक्शन)

SQL इंजेक्शन के कारण आपको स्ट्रिंग स्वरूपण का उपयोग नहीं करना चाहिए। जब आपके पास बड़ा SQL कोड होता है तो यह और भी जटिल होता है। तैयार कथन का प्रयोग करें जैसे:

query ="INSERT INTO id(email,passw) VALUES(%s,%s)"args =(email, passw)mycursor.execute(query, args) 

डीबी/टेबल को हर समय नया न बनाएं

आपका कोड हर बार विफल होना तय है क्योंकि यह उसी नाम से एक नया डीबी नहीं बना सकता है यदि यह पहले से मौजूद है। टेबल के साथ ही। मैं एक सेटअप स्क्रिप्ट बनाने का सुझाव दूंगा। इसके अलावा, आप डेटाबेस को कनेक्टर में रख सकते हैं और mycursor.execute("USE login;") का उपयोग करने की आवश्यकता नहीं है।

mydb =mysql.connector.connect(host="localhost", user="root", passwd="", database='login') 

प्रतिबद्ध

mysql कनेक्टर डिफ़ॉल्ट रूप से ऑटोकॉमिट नहीं करता है देखें:https://dev.mysql.com/doc/connector-python/en/connector-python-api-mysqlconnection-commit.html

इसलिए फांसी के बाद आपको इसे स्वयं करना होगा।

mydb.commit() 

अंत में कोड इस तरह दिखना चाहिए:

आयात करें =इनपुट ("आपका ईमेल:") पासव =इनपुट ("आपका पासवर्ड:") पुष्टि_पास =इनपुट ("पासवर्ड की पुष्टि करें:") यदि पासव ==पुष्टि_पास:प्रिंट ("सफलतापूर्वक पंजीकृत!") क्वेरी ="आईडी में डालें ( ईमेल, पासव) VALUES(%s,%s)" args =(ईमेल, पासव) mycursor.execute(query, args) mydb.commit()else:print("गलत पासवर्ड!")


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. php का उपयोग करके डीबी में HTML कोड कैसे डालें?

  2. डेटाबेस में एक बार में बल्क डेटा कैसे डालें?

  3. डायनेमिक टैब समान रिकॉर्ड प्रस्तुत कर रहे हैं

  4. हाइबरनेट कैस्केड उत्पन्न नहीं करता है

  5. MySql - होने बनाम कहाँ