为了账号安全,请及时绑定邮箱和手机立即绑定

Python mysql.connector - cursor.execute

Python mysql.connector - cursor.execute

呼啦一阵风 2021-09-11 15:36:42
我想使用 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)

参考:



查看完整回答
反对 回复 2021-09-11
  • 1 回答
  • 0 关注
  • 307 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信