bindings

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
murph
User
Beiträge: 622
Registriert: Freitag 14. April 2006, 19:23
Kontaktdaten:

Donnerstag 13. Juli 2006, 22:57

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]
http://www.cs.unm.edu/~dlchao/flake/doom/
rayo
User
Beiträge: 773
Registriert: Mittwoch 5. November 2003, 18:06
Wohnort: Schweiz
Kontaktdaten:

Donnerstag 13. Juli 2006, 23:29

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
BlackJack

Freitag 14. Juli 2006, 07:53

Der was-auch-immer User wird wahrscheinlich die Zeichenkette "root" gewesen sein. Als Sequenz betrachtet hat der ja vier Elemente. :-)
murph
User
Beiträge: 622
Registriert: Freitag 14. April 2006, 19:23
Kontaktdaten:

Freitag 14. Juli 2006, 11:41

ahhh...thx!
bin icht dahinter gekommen, wo er die vier elemente hat, außerdem habe ich bis jetzt immer nur mehrere argumente übergeben...
http://www.cs.unm.edu/~dlchao/flake/doom/
Antworten