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

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 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥15 stable diffusion
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条