【问题标题】:How to use variables in Python SQL query?如何在 Python SQL 查询中使用变量?
【发布时间】:2019-08-28 13:57:00
【问题描述】:

我正在使用一些复制粘贴的代码通过 Python/Flask 在 MySQL 数据库上执行 SQL 查询。我不熟悉它,它告诉我我尝试输入变量的方式不是正确的语法。

我的代码运行查询以查看电子邮件是否已存在。

问题代码:

def check_if_exists(val):
    import mysql.connector
    cnx = mysql.connector.connect(host=0.0.0.0", port=3306, user="username", passwd="password", db="testDB")
    cursor = cnx.cursor()
    query = """SELECT * FROM users WHERE email = val"""
    result = cursor.execute(query)
    print(result)

假设val 是一列,但我希望它使用函数参数。

result = check_if_exists('random@email.com')
>>> True

【问题讨论】:

    标签: python sql syntax


    【解决方案1】:

    您可以使用%s 作为绑定值的占位符:

    query = """SELECT * FROM users WHERE email = %s"""
    result = cursor.execute(query, (val,))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-03-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-16
      相关资源
      最近更新 更多