首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >python pymysql -带参数的mysql命令

问python pymysql -带参数的mysql命令
EN

Stack Overflow用户
提问于 2019-12-03 23:44:37
回答 1查看 49关注 0票数 0

我是python的新手,我正在努力使用mysql命令和参数。具体地说,我发现我必须使用'%‘来分隔命令和参数:

该连接仅作为备注包含,仅供参考。

代码语言:javascript
复制
@app.route("/test")
def test():
    # db = pymysql.connect(
      # host="localhost",
      # user="root",
      # password="---------",
      # database="golf",
      # charset="utf8mb4",
      # cursorclass=pymysql.cursors.DictCursor,
    # )
    cur = db.cursor()
    cur.execute("USE golf")

    mySQLQuery = "SELECT * FROM users WHERE email='%s'"
    email = "test@test.com"

    cur.execute(mySQLQuery % (email,))
    return render_template("index.html")

我发现的示例似乎使用',‘而不是'%',如果我没有弄错的话,可能会推荐使用',’。然而,当我将'%‘替换为',’时,我收到一个错误:

代码语言:javascript
复制
pymysql.err.ProgrammingError: (1064, "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 'test@test.com''' at line 1")

我所做的唯一更改是在cur.execute命令中:

代码语言:javascript
复制
 cur.execute(mySQLQuery, (email,))

我认识到我的理解可能是错误的,'%‘是可以接受的。

任何指导或建议都将不胜感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-12-03 23:51:06

尝试从“...电子邮件=‘%s’”中删除

只发送电子邮件= %s并使用cur.execute(mySQLQuery,( email,))

希望这能有所帮助

在这里您可以找到一个很好的示例https://stackoverflow.com/a/37094912/12474033

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

https://stackoverflow.com/questions/59160663

复制
相关文章

相似问题

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