标签:from div code word HERE 区别 参数 注入 rom
使用MySQLdb连接数据库执行sql语句时,有以下几种传递参数的方法:
一.通过自定义参数传递:
import pymysql import types dbinfo={"host":"192.168.6.41", "user":"lrtsaudio", "password":"2&Ty3DW75i!(vgo.l3Odp1fgWgEG", "db":"audiobook" } rule=1 sql="SELECT book_id,book_name FROM t_book WHERE market_rule=%s"% rule connect1=pymysql.connect(**dbinfo) cursor1=connect1.cursor() cursor1.execute(sql) r2=cursor1.fetchmany(2) print(r2) cursor1.close() connect1.close
*这种方法跟常规方法区别不大,且存在漏洞。有些时候不能正常解析,比如包含某些特殊字符,甚至会造成注入攻击的风险。-----不常用,有人用的时候能看懂即可。
二.执行语句传递参数。(可传递多个参数)
...... #值用“%s”占位符占位(无论是字符串、数字或者其他类型,都是使用这个占位符) sql="SELECT book_id,book_name FROM t_book WHERE market_rule=%s" connect1=pymysql.connect(**dbinfo) cursor1=connect1.cursor() #执行时,传递对应的参数 cursor1.execute(sql,1) ......
三、使用字典类型传递参数
python数据库连接之pyMysql -(二):使用变量向SQL语句中传递参数
标签:from div code word HERE 区别 参数 注入 rom
原文地址:https://www.cnblogs.com/youzaijiang/p/11504950.html