简体   繁体   中英

Python MySQL INSERT query doesn't get executed

I'm currently writing a chat bot with plugin functionality and at the moment, I'm working on a permission system.

However, my insert query into my database somehow doesn't work. If I do it by hand, it works flawless.

Here's that piece of code... hopefully you see what I try here:

def dothis(message):
if message.content.split()[1].lower() == "op":
    user = get_member_by_name(message, message.content.split()[2])
    try:
        pmcon = mdb.connect(db_server, db_user, db_pass, db_name)
        pmcur = pmcon.cursor()
        pmcur.execute("INSERT INTO users (username,userid,hasop) VALUES (\'{}\',\'{}\',{})".format(message.content.split()[2], user.id, "TRUE"))
    except: mdb.Error, e:
        print "Error %d: %s" % (e.args[0], e.args[1])
    finally:
        if pmcon:
        pmcon.close()

I already tried putting the query in a string and let it be printed out, but I don't see an error.

Am I doing something wrong?

if your database connection is not configured to autocommit , you need to commit your statements:

pmcon.commit()

(after the execute statement.)

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM