sqlite3.ProgrammingError: Incorrect number of bindings supplied. The current statement uses 1, and there are 7 supplied.?
Hallo,
ich bekomme ständig die Fehlermeldung:
sqlite3.ProgrammingError: Incorrect number of bindings supplied. The current statement uses 1, and there are 7 supplied.
So ungefähr ist mein Code:
cursor.execute("SELECT name FROM users WHERE nachname = ?", (nachname[0]))
nachname wurde aus der Datenbank gefetcht.
Wie kann ich diese beheben?
Liebe Grüße
3 Antworten
Dann schau Dir vielleicht mal davor an, wie nachname bzw. nachname[0] aussehen. Konkrete Bedeutung, in Deinem Statement wird eine Variable angekündigt, Du übergibst aber anscheinend 7 Stück.
Zur Erinnerung, Du übergibst (nachname[0]), Deine 'Sequenz' sind also die Zeichen von nachname[0] und der scheint 7 Zeichen lang zu sein.
Du möchtest vermutlich eher (nachname[0],) übergeben.
Ohh vielen dank, dieses Komma hat wirklich den Fehler behoben.
Danke nochmals :)
(nachname[0])
… ist ziemlich sicher nicht das, was du möchtest.
Jedenfalls fehlt ein $ am Beginn, und möglicherweise ist der Rest auch nicht korrekt (das kann man natürlich ohne Kenntnis des restlichen Codes nicht sagen).
OK, sorrry, hab nicht genau hingesehen. Das passiert, wenn man nur eine einzige Programmzeile präsentiert bekommt …
aber gerade die verrät das es python ist, dort wird mit cursor. gearbeite , sonst eigentlich nie .
Es wird eine sequenz erwartet.
(nachname[0], )
statt
(nachname[0])
LG
du bist bei python , python kennt kein $ zeichen für variablen .