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

怎么会有研究僧现在才被迫学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的后续操作。

你可能感兴趣的:(数据库,mysql,python)