我试图为template_list
数组中的值创建一个插入查询。这些值用于字段template_name
。在
dir_template_list = ['template1', 'template2', 'template3']
sql = "INSERT INTO tbltemplate (template_name) VALUES(%s)" % (dir_template_list)
有没有使用字符串占位符创建此查询的简单/简单方法?在
^{pr2}$编辑:这是我实际的表结构
FIELD
-------
id int(6)
template_name VARCHAR(128)
正如ThiefMaster指出的,您永远不应该使用来自用户的输入来构建带有字符串格式的SQL查询。这是一个SQL注入漏洞,也是当今软件系统中的首要安全问题。在
您的数据库提供了一种安全的方法来分别提供查询字符串和数据,您应该使用它:
注意:我不知道您的数据库连接被称为什么,但是}都是可能的。在
conn
是常见的。另外,不同的数据库对占位符使用不同的语法:?
和{首先,永远不要使用字符串格式来创建查询否则您将面临SQL注入漏洞的风险,必须处理转义等问题
正确的方法是对每一行使用单个查询并将数据作为参数传递:
为了提高性能,您可能需要在事务中或使用准备好的语句执行此操作。在
如果一行有3列,则代码应该如下所示(如果表存在):
相关问题 更多 >
编程相关推荐