Heim >Backend-Entwicklung >Python-Tutorial >Warum löst mein SQLite3-Code den Fehler „Falsche Bindungen bereitgestellt' aus?
SQLite3-Fehler: Falsche Bindungen bereitgestellt
Beim Ausführen von SQL-Abfragen mit Bindungsparametern ist es wichtig, sicherzustellen, dass die richtige Anzahl von Bindungen bereitgestellt wird. Im angegebenen Code ist der folgende Fehler aufgetreten:
sqlite3.ProgrammingError: Incorrect number of bindings supplied. The current statement uses 1, and there are 74 supplied
Bei der Prüfung des Codes:
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()
Es wird deutlich, dass das Problem in der Art und Weise liegt, wie der Bindungsparameter angegeben wird in der Anweisung „cursor.execute“:
cursor.execute('INSERT INTO images VALUES(?)', (img))
Um den Fehler zu beheben, ist ein Komma zum Erstellen eines erforderlich Tupel:
cursor.execute('INSERT INTO images VALUES(?)', (img,))
Alternativ kann ein Listenliteral verwendet werden:
cursor.execute('INSERT INTO images VALUES(?)', [img])
Indem sichergestellt wird, dass der Bindungsparameter korrekt als Tupel oder Liste bereitgestellt wird, wird die richtige Anzahl von Bindungen bereitgestellt verwendet, um den Fehler zu beheben.
Das obige ist der detaillierte Inhalt vonWarum löst mein SQLite3-Code den Fehler „Falsche Bindungen bereitgestellt' aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!