这个问题在这里已经有答案了:
如何在python的sql语句中使用变量(6个答案)
两年前关门了。
我正在尝试编写一个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登录的用户的密码他们的用户名(在本例中是电子邮件地址)。
任何帮助都将不胜感激。谢谢。
1条答案
按热度按时间x8diyxa71#
您需要将它们作为要插入execute语句的值元组提供。
语法如下所示:
cursor.execute(operation, params=None, multi=False)
operation
是您的查询字符串params
是一个元组,其中包含所有参数你可能也应该用%两次。。
请参见连接器python api mysqlcursor execute
如果有疑问,我可以在这里查找语法:http://bobby-tables.com/python 或者使用原版的doku。