用python连接数据库,实现注册和登录

# 提示: 输入用户名和密码(6到10)与(与数据库中的用户名和密码进行对比一致打印登陆成功。失败注册)
from pymysql import connect


class RegLogon() :
    """用户注册登录"""


    def register(self):
        """用户注册"""
        try:
            uname = input('请输入用户名:')
            while True:
                upwd = input('请输入密码:')
                if not 6 <= len(upwd) <= 10:
                    print('请输入6到10位的密码')
                    continue
                else:
                    break
            # 打开与数据库的连接
            conn = connect(host='localhost', port=3306, db='users', user='root', passwd='11111', charset='utf8')
            cur = conn.cursor()
            # 判断用户名是否存在
            sql = 'select count(*) from user_pwd where name=%s'
            # params = [uname]
            cur.execute(sql, (uname,))
            result = cur.fetchone()
            if result[0]:
                print('用户名已经存在,请重新注册')
            else:
                # 用户名不存在
                sql = 'insert into user_pwd(name, pwd) values(%s, %s)'
                # params = [uname, upwd]
                result = cur.execute(sql, (uname,upwd))
                conn.commit()
                if result == 1:
                    print('注册成功')
                else:
                    print('注册失败')
        except Exception as e:
            print('注册失败,原因是:%s' % e)
        finally:
            cur.close()
            conn.close()


    def logon(self):

        try:
            """用户登录"""
            uname=input("请输入用户名:")
            upwd=input("请输入密码:")
            # 1 连接数据库
            conn = connect(host="localhost", port=3306, user="root", password="1111l", database="users", charset="utf8")
            #  得到一个游标对象
            cs1 = conn.cursor()
            # 2, 执行sql语句
            sql="""select pwd from user_pwd where name =%s """
            cs1.execute(sql,(uname,))
            result=cs1.fetchone()

            if result==None:
                print("用户名错误,登录失败")
            elif result[0]==upwd:
                print("登录成功")
            else:
                print("密码错误,登录失败")
        except Exception as e:
            print("登录失败,失败原因为:%s"% e)
        finally:
            # 关闭
            cs1.close()
            conn.close()


    def run(self):
        """打印菜单并运行"""
        """用户登录注册"""
        while True:
            print("1,注册")
            print("2,登录")
            print("3,退出")

            action = input("请输入数字:")

            if action == "1":
                self.register()

            elif action == "2":
                self.logon()

            elif action == "3":
                break


def main():
    # 运行服务
    # run()
    user = RegLogon()
    user.run()


if __name__ == '__main__':
    main()


  • 17
    点赞
  • 116
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值