python中pymysql执行sql的两种可防止sql注入漏洞的传参方式(1、元组/列表 2、dict字典)

12 篇文章 0 订阅

1、采用sql拼接的方式,拼接时用 xx= %s的方式,入参格式为元组或者list
如下举例:
sql = "select count(*) as sys_num from test where true "
params = []
if param1:
    sql += " and param1 = %s "
    params.append(param1)
if param2:
    sql +=  " and (param2=%s) "
    params.append(param2)
cur.execute(sql, params)
2、采用sql拼接的方式,拼接时用 xx=%(xx)s的方式, 入参格式为dict
如下举例:
sql = "select count(*) as sys_num from test where true "
params = {"param1": "xx", "param2": "xxx"}
if param1:
    sql += " and param1 = %(param1)s "
if param2:
    sql += " and (param2=%(param2)s) "
cur.execute(sql, params)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值