侧边栏壁纸
博主头像
AI研究僧

hycj89@163.com

  • 累计撰写 1,899 篇文章
  • 累计创建 179 个标签
  • 累计收到 1 条评论
标签搜索

目 录CONTENT

文章目录

pymysql查询语句中带有in时传递参数的问题

AI研究僧
2020-01-15 / 0 评论 / 0 点赞 / 344 阅读 / 199 字

场景说明

用python操作mysql时,经常会遇到写的sql语句中带有in,同时还要给in中传递参数,直接使用%s来替换会存在sql注入的风险,遂多方查找,得到以下方法,供大家使用

具体代码

import pymysql

conn = pymysql.connect(
    host='127.0.0.1',  # 连接名称,默认127.0.0.1
    user='root',  # 用户名
    passwd='123456',  # 密码
    port=3306,  # 端口,默认为3306
    db='mydb',  # 数据库名称
    charset='utf8',  # 字符编码
)

cs = conn.cursor()
img_ids = [1,2,3]  # 需要传入sql的数据
sql = "select img_url from img_url_table where id in %s"
cs.execute(sql, (img_ids, ))  # 直接传递元组包裹列表即可,注意是元组,逗号不能丢
博主关闭了所有页面的评论