什么是SQL注入
产生原因: 后台将用户提交的带有恶意的数据和SQL进行字符串方式的拼接,从而影响了SQL语句的语义,最终产生数据泄露的现象。 如果防止: sql语句的参数化, 将SQL语句的所有数据参数存在一个列表中传递给execute函数的第二个参数
注意
- 此处不同于python的字符串格式化,必须全部使用%s占位
- 所有参数所需占位符外不需要加引号
from pymysql import connect
class JD(object):
def __init__(self):
# 创建和数据库服务器的连接 服务器地址、端口、户名、密码、数据库名、通信使用字符和数据库字符集一致
conn = connect(host='localhost', port=3306, user='root', password='mysql', database='jing_dong', charset='utf8')
# 获取游标
self.cursor = conn.cursor()
def __del__(self):
self.cursor.close(