我试图编写一个SQL查询来更新当前登录到web应用程序中的用户的密码。我使用会话ID来标识要更新密码的特定用户。但是,我不知道如何为查询编写正确的语法。
下面是有问题的查询:
cursor.execute("UPDATE user SET password = %s WHERE email = ?", [confirm_password], session['email'])以及由此产生的错误:
mysql.connector.errors.ProgrammingError: 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '?' at line 1我只想更新使用会话ID登录的用户的密码,他们的用户名(在本例中是一个电子邮件地址)。
任何帮助都将不胜感激。谢谢。
发布于 2018-11-28 21:01:27
您需要将它们作为要插入执行语句的值的元组提供。
语法如下所示:cursor.execute(operation, params=None, multi=False)
operation是查询字符串。params是一个包含其内部所有参数的元组。cursor.execute("UPDATE user SET password = %s WHERE email = %s",
(confirm_password, session['email']) )你也应该用%两次..。
当有疑问时,我在这里查找语法:http://bobby-tables.com/python或使用原始的doku。
https://stackoverflow.com/questions/53527986
复制相似问题