书海shuhai 2022-10-06 15:01 采纳率: 50%
浏览 160
已结题

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()
  • 写回答

2条回答 默认 最新

  • 凯歌响起 2022-10-06 15:34
    关注

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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 10月14日
  • 已采纳回答 10月6日
  • 修改了问题 10月6日
  • 创建了问题 10月6日

悬赏问题

  • ¥20 请问,这个视频播放软件的名称
  • ¥15 运筹优化,gurobi,python
  • ¥15 基于python的电影系统推荐
  • ¥20 springmvc重定向和返回json
  • ¥15 数学建模——参会安排怎么做
  • ¥15 电脑键盘实现触摸功能
  • ¥25 matlab无法将表达式转换为双数组怎么解决?
  • ¥15 单片机汇编语言相关程序
  • ¥20 家用射频美容仪技术规格
  • ¥15 大家帮我看看为什么错了