python成功执行SQL语句,数据库却没有发生变化

之前我用python tkinter编写了一个窗体登录程序,可是这几天运行调试的时候,账号注册这一步发生了问题,明明SQL语句执行成功,但是对应的数据库的表中却没有任何变化,没有存储到任何数据,不知道是数据库的问题还是代码的问题,不知道有没有人遇到过这种情况。以下是代码部分(数据库连接部分省略)。

账号注册


def Register():
    cur = conn.cursor()
    username = input("请输入注册账号:")
    password = input("请输入账号密码:")
    repassword = input("请确认密码:")
    sql = 'select count(*) from 登录注册表2 where username=%s'
    cur.execute(sql, (username,))
    result1 = cur.fetchone()
    if username == "":
        print("注册账号不得为空!")
    elif password == "":
        print("账号密码不得为空!")
    elif repassword == "":
        print("请确认密码!")
    elif password != repassword:
        print("两次密码不一致!请重新确认密码!")
    elif result1[0] == True:
        print("该账号已注册!请重新注册!")
        Register()
    else:  #账号注册成功的操作
        Save(username, password)

def Save(username, password, ):        #存储账号密码到数据库
    cur = conn.cursor()
    try:
         sql2 = 'insert into 登录注册表2 (username, password,userpwd) values (%s,%s,%s )'
        cur.execute(sql2, (username, password, username + password,))
        conn.commit()
        print("新账号注册成功!")
    except:
        print("账号注册失败")
        sys.exit(0)

if __name__ == '__main__':
    Register()

你的userpwd这个变量在上面没有定义呀

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^