首页 > 解决方案 > 无法使用flask框架pymysql查询数据

问题描述

python flask框架下,无法使用pymysql查询数据:

def sql_query (commit_ip):
    with db.cursor() as cursor:
        sql = "select client_ip, result, date_time from ipset where client_ip = 'commit_ip'"
        cursor.execute (sql)
        dict_ipset = cursor.fetchall ()
        return dict_ipset

变量commit_ip 替换为特定IP 后才能查询。date_time 也是如此。client_ip 的数据类型是 char (15)。这个sql应该怎么写?

标签: python-3.xpymysql

解决方案


您应该将变量值作为元组作为要执行的第二个参数传递。PyMySql 文档中的示例:

    sql = "SELECT `id`, `password` FROM `users` WHERE `email`=%s"
    cursor.execute(sql, ('webmaster@python.org',))

所以对你来说,这将是:

    sql = "select client_ip, result, date_time from ipset where client_ip = %s"
    cursor.execute(sql, (commit_ip,))

推荐阅读