January 31, 2023
sqlite3.ProgrammingError: Incorrect number of bindings supplied. The current statement uses 1, and there are 74 supplied
Вам нужно передать последовательность, но вы забыли запятую, чтобы ваши параметры были кортежем:
cursor.execute('INSERT INTO images VALUES(?)', (img,))
Без запятой (img) - это просто сгруппированное выражение, а не кортеж, и поэтому строка img рассматривается как входная последовательность. Если длина этой строки составляет 74 символа, то Python воспринимает ее как 74 отдельных значения привязки, каждое длиной в один символ.
>>> len(img) 74 >>> len((img,)) 1
Если вам легче читать, вы также можете использовать литерал списка:
cursor.execute('INSERT INTO images VALUES(?)', [img])