为避免注入,请使用
executewith
%s代替每个变量,然后通过列表或元组传递值作为的第二个参数
execute。这是文档中的示例:
c=db.cursor()max_price=5c.execute("""SELECt spam, eggs, sausage FROM breakfast WHERe price < %s""", (max_price,))请注意,这是使用 逗号 而不是 % (这将是直接字符串替换,不会转义)。 不要这样做 :
c.execute("""SELECt spam, eggs, sausage FROM breakfast WHERe price < %s""" % (max_price,))此外,
'%s'如果参数是字符串,则不需要在位置保持器()周围加上引号。



