要实现在游客注册时验证用户名是否存在的逻辑,可以使用以下代码示例:
import pymysql
from flask import Flask, request, jsonify
app = Flask(__name__)
@app.route('/zhuce', methods=['POST'])
def zhuce():
# 获取前端发送的数据
username = request.form.get('username')
password = request.form.get('password')
# 连接 MySQL 数据库
db = pymysql.connect(host='127.0.0.1', user='root', password='123456', database='gzcx')
# 创建一个游标对象
cursor = db.cursor()
# 查询该用户名是否已存在
select_sql = "SELECT * FROM person WHERE xm = %s"
cursor.execute(select_sql, username)
result = cursor.fetchone() # 如果存在,fetchone()会返回非空结果
if result:
# 用户名已存在,返回错误提示
response = {'message': '用户名已存在'}
return jsonify(response), 400
# 用户名不存在,继续执行后续注册逻辑
password = strtomd5(password)
insert_sql = "INSERT INTO person (xm, pwd, shenfen, gh) VALUES (%s, %s, 'B', '0011')"
cursor.execute(insert_sql, (username, password))
# 提交事务
db.commit()
cursor.close()
db.close()
response = {'message': '注册成功'}
return jsonify(response), 200
if __name__ == '__main__':
app.run()
上述代码在注册时先查询数据库,检查用户名是否已存在。如果存在,则返回错误提示信息;如果不存在,则继续执行注册逻辑并插入数据到数据库中。注意在查询时使用了参数化查询,以防止SQL注入的安全问题。希望这样能够满足你的需求。
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 |