python连接数据库登录注册
时间: 2023-10-10 18:16:04 浏览: 169
以下是Python连接数据库实现登录注册的示例代码:
```python
import mysql.connector
# 连接数据库
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="mydatabase"
)
# 定义用户类
class User:
def __init__(self, username, password):
self.username = username
self.password = password
# 注册函数
def register(user):
mycursor = mydb.cursor()
# 判断用户名是否已存在
sql = "SELECT * FROM users WHERE username = %s"
val = (user.username,)
mycursor.execute(sql, val)
result = mycursor.fetchone()
if result:
print("该用户名已存在!")
else:
# 插入新用户
sql = "INSERT INTO users (username, password) VALUES (%s, %s)"
val = (user.username, user.password)
mycursor.execute(sql, val)
mydb.commit()
print("注册成功!")
# 登录函数
def login(user):
mycursor = mydb.cursor()
# 判断用户名和密码是否匹配
sql = "SELECT * FROM users WHERE username = %s and password = %s"
val = (user.username, user.password)
mycursor.execute(sql, val)
result = mycursor.fetchone()
if result:
print("登录成功!")
else:
print("用户名或密码错误!")
# 测试注册和登录
user1 = User("user1", "password1")
register(user1)
user2 = User("user2", "password2")
register(user2)
login(user1)
login(user2)
```
说明:
1. 以上示例代码使用的是MySQL数据库,需要安装mysql-connector-python库。
2. 代码中定义了User类,用于存储用户名和密码。
3. 注册函数register()和登录函数login()都接受一个User对象作为参数。
4. 注册函数先查询数据库中是否已经存在相同的用户名,如果不存在则插入新用户信息。
5. 登录函数查询数据库中是否存在匹配的用户名和密码,如果存在则登录成功。