关于sql注入的问题其实有很多种。这只是其中俩种方法。在python中使用的。不管前端是否有js校验,传入的数据都默认是不安全的数据。
import pymysql
import re
# import sqlalchemy
# todo 创建连接
con = pymysql.connect(host='localhost',user='root',password='mysql',database='shanghui',port=3306,charset='utf8')
# host=None, user=None, password="",database=None, port=0
print(con)
# todo 获取操作句柄
cur = con.cursor()
#查询一条数据
id_vlaue = input('请输入需要查询的id值')
# # 方法1 用正则匹配
# ret = re.match(r'\d+','324asd')
# print(ret.group())
# 方法2 参数列表化
sql = 'select * from goods where goods.id > %s'
print(sql)
ret = cur.execute(sql,[id_vlaue])
print(ret)
或
sql=cur.execute('select * from goods where goods.id=%s',[id_vlaue])
# for i in range(ret):
# ret_sql = cur.fetchone()
# print(ret_sql)
print('$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$')
ret_sql2 = cur.fetchall()
print(ret_sql2)
cur.close()
con.close()
先关句柄再关闭连接