我尝试使用python将一些变量插入MySQL数据库。有时变量是字符串,有时它们不是字符串。在
下面是我尝试的一个非常简化的版本:
import MySQLdb as mdb
f = "Bob"
m = None
l = "Smith"
db = mdb.connect("blah blah blah")
with db:
cur.execute("INSERT INTO name (first, middle, last) VALUES ('{0}', '{1}', '{2}')".format(f, m, l))
问题是它将“None”作为字符串而不是实际的NULL值插入。在
我可以通过将最后一行改为:
^{pr2}$但我相信这会使代码容易受到MySQL注入攻击。 如果有人知道使用.format方法的正确方法,我将不胜感激。在
插入数据的预期方法如下:
像第一个示例中那样格式化字符串会使应用程序容易受到SQL注入的攻击。在
相关问题 更多 >
编程相关推荐