首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不确定将多个变量传递给Python中的sql查询的正确语法

问不确定将多个变量传递给Python中的sql查询的正确语法
EN

Stack Overflow用户
提问于 2018-11-28 20:58:46
回答 1查看 88关注 0票数 0

我试图编写一个SQL查询来更新当前登录到web应用程序中的用户的密码。我使用会话ID来标识要更新密码的特定用户。但是,我不知道如何为查询编写正确的语法。

下面是有问题的查询:

代码语言:javascript
复制
cursor.execute("UPDATE user SET password = %s WHERE email = ?", [confirm_password], session['email'])

以及由此产生的错误:

代码语言:javascript
复制
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登录的用户的密码,他们的用户名(在本例中是一个电子邮件地址)。

任何帮助都将不胜感激。谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-11-28 21:01:27

您需要将它们作为要插入执行语句的值的元组提供。

语法如下所示:cursor.execute(operation, params=None, multi=False)

  • operation是查询字符串。
  • params是一个包含其内部所有参数的元组。
代码语言:javascript
复制
cursor.execute("UPDATE user SET password = %s WHERE email = %s", 
               (confirm_password, session['email']) )

你也应该用%两次..。

请参阅连接器-python mysql游标-执行

当有疑问时,我在这里查找语法:http://bobby-tables.com/python或使用原始的doku。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53527986

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档