我创建了一个登录窗口,其中有一个表“peerlist”,其中包含名称、用户名、密码。我想验证表中的用户名和密码。
username1 包含我从登录窗口获得的用户名。我尝试使用 username1 检索密码。
cursor.execute( "SELECT password FROM peerlist WHERE username=?",username1)
但是有一个错误
sqlite3.ProgrammingError: Incorrect number of bindings supplied. The current
statement uses 1, and there are 3 supplied.
最佳答案
使用元组作为参数:
cursor.execute( "SELECT password FROM peerlist WHERE username=?", (username1,))
参数应该是元组或列表(序列);但字符串也是一个序列(它有长度,您可以寻址各个字符),因此您为 .execute()
调用提供了 len(username1)
序列> 字符而不是一个参数。显然用户名是 3 个字符长,因此出现错误消息。
关于python - ( "SELECT password FROM peerlist WHERE username=?",用户名1),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15335646/