Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/350.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python3 sqlite参数化SQL查询_Python_Python 3.x_Sqlite - Fatal编程技术网

Python3 sqlite参数化SQL查询

Python3 sqlite参数化SQL查询,python,python-3.x,sqlite,Python,Python 3.x,Sqlite,我一直在尝试使用Python3和sqlite模块进行参数化SQL查询,只使用一个变量就成功了。然而,当使用两个变量时,我得到了一个索引器错误:元组索引超出范围错误。关于导致此错误的原因有何建议 sql=select EXISTSELECT*从密码为“{0}”且用户名为“{1}”的用户中选择 args=var1,var2 cursor=database\u connection.executesql.formatargs 永远不要在sql命令中填写原始条目,这会导致sql注入攻击 使用内置的填充功

我一直在尝试使用Python3和sqlite模块进行参数化SQL查询,只使用一个变量就成功了。然而,当使用两个变量时,我得到了一个索引器错误:元组索引超出范围错误。关于导致此错误的原因有何建议

sql=select EXISTSELECT*从密码为“{0}”且用户名为“{1}”的用户中选择 args=var1,var2 cursor=database\u connection.executesql.formatargs 永远不要在sql命令中填写原始条目,这会导致sql注入攻击

使用内置的填充功能

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

美好的您通过使用*args修复了错误,但忘了说…,并坚持正确使用参数化查询。您的建议引发TypeError:函数最多接受2个参数3个给定错误。第一行也缺少一个括号。抱歉,已修复该问题。