数据库学习_mysql server_pymysql_语句参数化,防止SQL注入
示例修改前cursor.execute("SELECT user_name,user_group FROM userlist WHERE ID = %d" % int(user))修改后cursor.execute("SELECT user_name,user_group FROM userlist WHERE ID = %s" , user)修改前cursor.execute("SELECT *
·
示例
修改前
cursor.execute("SELECT user_name,user_group FROM userlist WHERE ID = %d" % int(user))
修改后
cursor.execute("SELECT user_name,user_group FROM userlist WHERE ID = %s" , user)
修改前
cursor.execute("SELECT * FROM noticelist WHERE CODE = %d"% infocode)
修改后
cursor.execute("SELECT * FROM noticelist WHERE CODE = %s", infocode)
一些问题
刚开始以为参数化只是简单的吧%
换成,
就行了,
但在执行中出现问题
TypeError: %d format: a number is required, not str
将%d
改为%s
,去掉int()
后成功
注意%s
左右的冒号也要去掉
不知道为什么将整数类型转换成字符串类型会成功,猜测可能是%与python自带的占位符冲突?,这里挖个坑,以后再研究
更多推荐
已为社区贡献1条内容
所有评论(0)