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

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日

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵