python实现基于mysql数据库的管理系统登录模块

文章讲述了在用Python开发酒店管理系统时遇到的员工登录模块问题,特别是如何判断输入的id和密码是否匹配数据库记录。作者分享了代码实现,强调了判断结果为()而不是None的重要性,并提供了错误处理策略。
摘要由CSDN通过智能技术生成

怎么会有研究僧现在才被迫学python啊
课程结课要写个酒店管理系统,在实现员工登录模块时发现网上的干货很少,尤其是在判断输入的内容是否存在于数据库时犯了难,特此总结一下,希望能帮到跟我一样的小白。

def login():
    while True :
        try:
            sql = 'SELECT * FROM staff_info WHERE id=%s'
            s_id = input('请输入员工id:')
            value = (s_id)
            cur.execute(sql,value)
            result = cur.fetchall()
#            print(result)
            if result == () :  # ()不等于None
                print('输入的id有误,请重新输入')
            else :
                s_code = input('请输入密码:')
                for row in result:
                    id = row[0]
                    name = row[1]
                    code = row[2]
                if s_code == code :
                    print('欢迎使用酒店管理系统!')
                    break
                else :
                    print('输入的密码有误,请重新输入')


        except pymysql.Error as error:
            print('登录模块有误' + str(error))

首先输入id,若不存在时fetchall()得到的仅仅为(),因此添加判断语句,若result == ()则回到循环,重新输入。
特别需要注意的是()不等同于None,自己在网上看到别人判断结果写的None,实际跑起来不会回到循环,而是继续要求输入密码再报错。
密码输入也正确时,退出login模块的循环,执行main的后续操作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MozerLie

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值