SQLite3 错误:提供的绑定不正确
使用绑定参数执行 SQL 查询时,确保提供正确数量的绑定至关重要。在给定的代码中,遇到以下错误:
sqlite3.ProgrammingError: Incorrect number of bindings supplied. The current statement uses 1, and there are 74 supplied
检查代码后:
def insert(array): connection = sqlite3.connect('images.db') cursor = connection.cursor() cnt = 0 while cnt != len(array): img = array[cnt] print(array[cnt]) cursor.execute('INSERT INTO images VALUES(?)', (img)) cnt += 1 connection.commit() connection.close()
很明显,问题在于指定绑定参数的方式在cursor.execute语句中:
cursor.execute('INSERT INTO images VALUES(?)', (img))
要解决该错误,需要使用逗号来创建元组:
cursor.execute('INSERT INTO images VALUES(?)', (img,))
或者,可以使用列表文字:
cursor.execute('INSERT INTO images VALUES(?)', [img])
通过确保正确地将绑定参数作为元组或列表提供,将获得正确的绑定数量使用,解决错误。
以上是为什么我的 SQLite3 代码会抛出'提供的绑定不正确”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!