Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/358.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
使用SQLite和Python从数据库读取:提供的绑定数量不正确_Python_Database_Sqlite_Binding - Fatal编程技术网

使用SQLite和Python从数据库读取:提供的绑定数量不正确

使用SQLite和Python从数据库读取:提供的绑定数量不正确,python,database,sqlite,binding,Python,Database,Sqlite,Binding,我使用以下python脚本读取数据库: cur.execute("SELECT * FROM pending where user = ?", (ID)) 其中ID是某人的名字,在本例中为“Jonathan” 然而,当我试图运行这个脚本时,我得到的错误是 Traceback (most recent call last): File "/usr/lib/pymodules/python2.7/cherrypy/_cprequest.py", line 606, in respond

我使用以下python脚本读取数据库:

cur.execute("SELECT * FROM pending where user = ?", (ID))
其中ID是某人的名字,在本例中为“Jonathan”

然而,当我试图运行这个脚本时,我得到的错误是

Traceback (most recent call last):
  File "/usr/lib/pymodules/python2.7/cherrypy/_cprequest.py", line 606, in respond
    cherrypy.response.body = self.handler()
  File "/usr/lib/pymodules/python2.7/cherrypy/_cpdispatch.py", line 25, in __call__
    return self.callable(*self.args, **self.kwargs)
  File "proj1base.py", line 470, in editFriends
    cur.execute("SELECT * FROM pending where user = ?", (ID))
ProgrammingError: Incorrect number of bindings supplied. The current statement uses 1, and there are 8 supplied.
我对SQLite非常陌生,所以我猜我只是在语法上犯了一个非常愚蠢的错误。然而,在网上搜索了一段时间后,我似乎找不到与其他人不同的东西

任何帮助都将不胜感激。或者如果你需要更多的代码,请让我知道


谢谢

您必须为绑定提供一系列值
ID
是一个字符串,因此它看起来像一个由8个值组成的序列

您可能认为
(ID)
应该是一个包含一个元素的元组,但事实并非如此。括号不是Python中的元组生成语法(空元组除外)。逗号是。使用
(ID,)
获得一个包含一个元素的元组。或者,使用列表:
[ID]