python-3.x - 无法使用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应该怎么写?
解决方案
您应该将变量值作为元组作为要执行的第二个参数传递。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,))
推荐阅读
- go - 在 GO 中验证 AWS Cognito JWT
- svn - 使用“hg.exe convert”命令将 Mercurial 存储库转换为 SVN 存储库时出现错误“中止:无法处理 svn 输出”
- javascript - 无法在 Express 中控制台记录 Passport 身份验证
- asp.net - 如何找出哪些应用程序和应用程序错误一直禁用我的 IIS 10 应用程序池?
- dataframe - 带有 Pandas 数据框的嵌套字典
- python - 通过字典为边添加特定的权重
- php - Captcha 适用于 PHP 7.2 但不适用于 7.4
- python - 对不同维度的非常大的 numpy 数组进行操作:运行速度太慢
- reactjs - 如何使用 react、typescript 和 storybook 导入 css 模块?
- wpf - 电源外壳。访问运行空间实例之外的变量