阅读量:0
import mysql.connector from mysql.connector import Error def verify_credentials(username, password): """ 验证MySQL数据库中的账号密码 参数: username (str): 数据库用户名 password (str): 数据库密码 返回: bool: 如果验证成功返回True,否则返回False """ # 连接数据库配置 config = { 'user': 'your_username', 'password': 'your_password', 'host': 'localhost', 'database': 'your_database', 'raise_on_warnings': True } try: # 连接到MySQL数据库 connection = mysql.connector.connect(**config) if connection.is_connected(): # 创建一个cursor对象 cursor = connection.cursor() # SQL查询语句 query = "SELECT * FROM users WHERE username = %s AND password = %s" cursor.execute(query, (username, password)) # 获取查询结果 result = cursor.fetchone() # 如果结果不为空,则验证成功 if result: return True else: return False except Error as e: print("Error while connecting to MySQL", e) return False finally: # 关闭cursor和连接 if connection.is_connected(): cursor.close() connection.close() 示例用法 username = 'test_user' password = 'test_password' if verify_credentials(username, password): print("验证成功:账号密码正确。") else: print("验证失败:账号密码错误。")
在上面的代码中,我们定义了一个函数verify_credentials
,它接受用户名和密码作为参数,并尝试连接到MySQL数据库来验证这些凭证,以下是代码的详细解释:
1、导入必要的模块:mysql.connector
用于连接MySQL数据库,Error
用于捕获异常。
2、定义verify_credentials
函数,它接受username
和password
作为参数。
3、在函数内部,定义了一个包含数据库连接信息的字典config
。
4、使用tryexceptfinally
语句块来处理数据库连接和异常。
5、在try
块中,尝试连接到数据库,并创建一个cursor对象。
6、执行一个SQL查询,该查询从users
表中查找匹配的用户名和密码。
7、如果查询结果不为空,则返回True
表示验证成功;否则返回False
。
8、在except
块中,打印出任何连接错误。
9、在finally
块中,确保关闭cursor和连接,无论是否发生异常。
请确保替换config
字典中的'your_username'
、'your_password'
和'your_database'
为实际的数据库用户名、密码和数据库名称。