v2.5.2
Giriş yap

python mysql 'NoneType' object has no attribute 'commit' sorunu

egemennk1
450 defa görüntülendi

Python ile geliştirdiğim uygulamada nedense insert işlemi yapamıyorum
mysql bağlantı kodlarım:

def con():
    try:
        global db
        db = mysql.connector.connect(
            host="localhost",
            user="x",
            password="x",
            database="x"
        ) 

        if db.is_connected():
            db_Info = db.get_server_info()
            global Server
            Server = db.cursor()

    except mysql.connector.Error as err:
        print("Sunuculara şu anda bağlanılamıyor")
        exit()

def ret():
    if db.is_connected():
        Server = db.cursor()
        return(Server)

İnsert kodlarım:

def addToShoppingList(username=None, itemName=None, itemPrice=None):
    connection.con()
    Server = connection.ret()

    sql = "INSERT INTO shopping_list (username, item_name, item_price) VALUES ('" + username + "', '" + itemName + "', '" + itemPrice + "')"
    Server.execute(sql)
    Server.commit()
    speak("Ürün başarıyla eklendi")
Cevap yaz
Cevaplar (1)
orange
946 gün önce

Merhaba,

Niçin hem Server objesini global yaratıp hem de Server objesini dönüyorsunuz ki? Ya doğrudan cursor dönün ya da global atatıktan sonra Server objesini dönün.

Bu arada sorgunuzda SQL Injection var.