如何编写登录验证数据库的代码示例?
- 数据库
- 2025-09-27
- 7
登录验证数据库代码的编写是网站或应用程序中常见的需求,以下是一个简单的示例,我们将使用Python语言和SQLite数据库来展示如何实现登录验证功能。
准备数据库和表结构
我们需要创建一个SQLite数据库和一个表来存储用户信息。

CREATE TABLE users ( id INTEGER PRIMARY KEY AUTOINCREMENT, username TEXT NOT NULL, password TEXT NOT NULL );
创建用户表数据
我们将添加一些示例数据到用户表中。
INSERT INTO users (username, password) VALUES ('user1', 'password1'); INSERT INTO users (username, password) VALUES ('user2', 'password2');
编写登录验证代码
下面是使用Python和SQLite实现登录验证的代码示例。

表格展示
下面是一个简单的表格,展示了上述代码的执行流程:
| 步骤 | 代码 | 说明 |
|---|---|---|
| 1 | create_connection(db_file) | 创建数据库连接 |
| 2 | verify_login(username, password) | 验证登录信息 |
| 3 | cursor.execute("SELECT * FROM users WHERE username=? AND password=?", (username, password)) | 执行SQL查询 |
| 4 | row = cursor.fetchone() | 获取查询结果 |
| 5 | if row: | 判断是否找到用户 |
| 6 | cursor.close() | 关闭游标 |
| 7 | conn.close() | 关闭数据库连接 |
FAQs
Q1:如何处理密码加密存储?

A1: 为了提高安全性,建议对用户密码进行加密存储,可以使用Python内置的hashlib库来生成密码的哈希值,以下是修改后的代码示例:
import hashlib def hash_password(password): """ 生成密码哈希值 """ return hashlib.sha256(password.encode()).hexdigest() # 修改用户表插入数据 INSERT INTO users (username, password) VALUES ('user1', hash_password('password1'));
Q2:如何处理数据库连接异常?
A2: 在实际应用中,数据库连接可能会出现异常,为了提高代码的健壮性,可以使用tryexcept语句来捕获并处理这些异常,以下是修改后的代码示例:
def verify_login(username, password): """ 验证登录信息 """ try: conn = create_connection('database.db') cursor = conn.cursor() cursor.execute("SELECT * FROM users WHERE username=? AND password=?", (username, password)) row = cursor.fetchone() if row: print("登录成功") else: print("用户名或密码错误") except sqlite3.Error as e: print("数据库连接异常:", e) finally: cursor.close() conn.close()