问题描述
cursor.execute("INSERT INTO table VALUES (%s, %s, %s)", (var1, var2, var3))
请注意,参数作为元组传递。
数据库API会正确地对变量进行转义和引用。注意不要使用字符串格式运算符(%),因为
- 它不会进行任何转义或引用。
- 它容易受到不受控制的字符串格式攻击,例如sql注入。
解决方法
我有以下Python代码:
cursor.execute("INSERT INTO table VALUES var1,var2,var3,")
其中var1
是整数,var2&var3
是字符串。
如何在没有python的情况下编写变量名并将其作为查询文本的一部分?