Heim >Backend-Entwicklung >Python-Tutorial >Warum löst mein SQLite3-Code den Fehler „Falsche Bindungen bereitgestellt' aus?

Warum löst mein SQLite3-Code den Fehler „Falsche Bindungen bereitgestellt' aus?

Barbara Streisand
Barbara StreisandOriginal
2024-12-05 01:15:101008Durchsuche

Why Does My SQLite3 Code Throw an

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn