我想使用 Flask 编写登录页面,但是我从数据库中获取的用户值始终是 NoneType。即使在登录表单中输入的用户名与数据库中的用户名相同。我想我的 SQL 查询可能有错误,但我不知道它在哪里。我感谢您的帮助!这是登录函数,该函数应返回在数据库中找到的行数。@app.route("/login", methods=["GET", "POST"])def login(): if request.method == "POST": #get form fields username = request.form["username"] password_candidate = request.form["password"] result = sqlhandler.mycursor.execute("SELECT * FROM users WHERE username = %s", [username]) print(result) #result is a NoneType这是 sqlhandler 的类:class mySQLHandler(): def __init__(self): self.db = mysql.connector.connect( host="localhost", user="root", passwd="notrealpassword ;)", db="testdb" ) self.mycursor = self.db.cursor()我真的很感激,如果有人能告诉我,为什么执行语句返回一个 NoneType。我已经检查了 mycursor.execute() 中的代码是否在 MySQL 工作台中工作,并且确实如此。
1 回答
慕标琳琳
TA贡献1830条经验 获得超9个赞
查询执行和获取分为两个独立的步骤。执行查询后从游标中获取数据:
sqlhandler.mycursor.execute("""
SELECT *
FROM users
WHERE username = %s
""", [username])
data = sqlhandler.mycursor.fetchone()
print(data)
参考:
添加回答
举报
0/150
提交
取消