Seite 1 von 1

bindings

Verfasst: Donnerstag 13. Juli 2006, 22:57
von murph
murph@murphs:~/own_project$ ./sqliteserver.py
self.cur[0].execute('SELECT pw FROM users WHERE name = ?', root)
Traceback (most recent call last):
File "./sqliteserver.py", line 120, in ?
sid = conn.login('root',conn.get_root_pw())
File "./sqliteserver.py", line 93, in login
self.cur[0].execute("SELECT pw FROM users WHERE name = ?", user)
pysqlite2.dbapi2.ProgrammingError: Incorrect number of bindings supplied. The current statement uses 1, and there are 4 supplied.
welcher teil des codes ist da nicht funktionstüchtig?
der code ist schon etwas gewachsen und ich kann ihn nicht hier ganz reinstellen (vielmehr: ich will das nur ungern, da viel unnützes hier platz verbrauchen würde).
wo muss ich da ansetzen? was ist in dem fall mit binding gemeint?
es muss was sooo simples sein xD[/code]

Verfasst: Donnerstag 13. Juli 2006, 23:29
von rayo
Hi

Du musst ein Tuple übergeben und kein was-auch-immer User.

Code: Alles auswählen

self.cur[0].execute("SELECT pw FROM users WHERE name = ?", (user,))
Klammerung und Komma beachten.

Gruss

Verfasst: Freitag 14. Juli 2006, 07:53
von BlackJack
Der was-auch-immer User wird wahrscheinlich die Zeichenkette "root" gewesen sein. Als Sequenz betrachtet hat der ja vier Elemente. :-)

Verfasst: Freitag 14. Juli 2006, 11:41
von murph
ahhh...thx!
bin icht dahinter gekommen, wo er die vier elemente hat, außerdem habe ich bis jetzt immer nur mehrere argumente übergeben...