连接数据库user表,进行登录
Posted cathyg
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了连接数据库user表,进行登录相关的知识,希望对你有一定的参考价值。
1.连接数据库,获取用户信息,判断用户是否存在,存在则登录,username,password
2.每登录失败一次,错误次数+1,错误次数大于等于5,提示用户被冻结
import pymysql,hashlib,datetime today = datetime.datetime.today() def op_mysql(sql): db_info = {‘user‘: ‘xxx‘, ‘password‘: ‘xxxxxx‘, ‘host‘: ‘127.0.0.1‘, ‘db‘: ‘xxx‘, ‘port‘: 3306, ‘charset‘: ‘utf8‘, ‘autocommit‘: True} conn = pymysql.connect(**db_info) # 建立连接 cur = conn.cursor(pymysql.cursors.DictCursor) # 游标 cur.execute(sql) # 执行sql语句,insert 、update 、delete result = cur.fetchall() cur.close() conn.close() return result for i in range(3): username = input(‘请输入用户名:‘).strip() password = input(‘请输入密码:‘).strip() ha_pwd = hashlib.md5(password.encode()) md5_pwd = ha_pwd.hexdigest() sql1 = ‘select * from user where username="%s";‘ % (username) if username == ‘‘ or password == ‘‘: print(‘用户名或密码不能为空‘) elif not op_mysql(sql1): print(‘账号不存在‘) elif op_mysql(sql1): if op_mysql(sql1)[0].get(‘error_count‘)<5: if md5_pwd==op_mysql(sql1)[0].get(‘password‘): print( ‘欢迎 %s登录,今天的日期是 %s‘ % (username, today)) break else: new_count = op_mysql(sql1)[0].get(‘error_count‘)+1 sql3 = ‘update user set error_count= "%s" where username="%s";‘%(new_count,username) op_mysql(sql3) print(‘密码不正确‘) else: print(‘用户被冻结‘) else: print(‘登录失败次数超过3次,不允许登录‘)
以上是关于连接数据库user表,进行登录的主要内容,如果未能解决你的问题,请参考以下文章
连接MySQL出现错误:ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)(代码片段
Express实战 - 应用案例- realworld-API - 路由设计 - mongoose - 数据验证 - 密码加密 - 登录接口 - 身份认证 - token - 增删改查API(代码片段