连接数据库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)(代码片段

如何通过JDBC连接Oracle数据库获取表名列表

Express实战 - 应用案例- realworld-API - 路由设计 - mongoose - 数据验证 - 密码加密 - 登录接口 - 身份认证 - token - 增删改查API(代码片段

检查连接mysql数据库代码

mysql 远程连接超时解决办法

Servlet应用