我想使用 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 工作台中工作,并且确实如此。
慕标琳琳
相关分类