Possible Duplicate:
Passing SQLite variables in Python
我的脚本中有一个函数,它将值传递给类方法,该方法的工作是用接收到的变量填充分配的数据库。问题是,我不确定语法是否正确,因为我不使用普通字符串。方法如下。
def new_response(self, link_pattern, link, response, ref_id=""):
self.db_cursor.execute('''INSERT INTO tb_memory VALUES
(%s, %s, %s, %s)''' % (ref_id, link_pattern, link, response))
最合适的语法方法是什么?
最佳答案
永远不要使用字符串格式来创建 SQL 语句!如果您使用字符串格式化,您的程序将受到可能的 SQL 注入(inject)攻击的影响。
使用 '?'
占位符:
def new_response(self, link_pattern, link, response, ref_id=""):
self.db_cursor.execute('''INSERT INTO tb_memory VALUES
(?, ?, ?, ?)''', (ref_id, link_pattern, link, response))
请参阅documentation用于执行
。
关于python - 将未知数插入 SQLite 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13946824/