我一直在尝试使用 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)