Python 3 sqlite parameterized SQL-query



我一直在尝试使用 Python 3 和 sqlite 模块进行参数化的 SQL 查询,并且只用了一个变量就成功了。但是,当使用两个变量时,我收到一个IndexError: tuple index out of range错误。关于导致此错误的原因的任何建议?

sql = ("select exists(SELECT * from USERS where PASSWORD = '{0}' AND USERNAME = '{1}')")
args = (var1,var2)
cursor = database_connection.execute((sql).format(args))

永远不要在sql命令中填写原始条目,这是在调用SQL注入攻击。

使用内置的填充功能。

sql = "select exists(SELECT * from USERS where PASSWORD = ? AND USERNAME = ?)"
args = (var1,var2)
cursor = database_connection.execute(sql, args)

最新更新