首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >( "SELECT password FROM username=?",username1)

( "SELECT password FROM username=?",username1)
EN

Stack Overflow用户
提问于 2013-03-11 17:58:47
回答 2查看 139关注 0票数 1

我创建了一个登录窗口,其中有一个"peerlist“表,其中包含名称、用户名和密码。我想验证表中的用户名和密码。

username1包含我从登录窗口获得的用户名。我尝试使用username1找回密码。

代码语言:javascript
复制
cursor.execute( "SELECT password FROM peerlist WHERE username=?",username1)

但是有一个错误

代码语言:javascript
复制
sqlite3.ProgrammingError: Incorrect number of bindings supplied. The current 
                          statement uses 1, and there are 3 supplied.
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-03-11 18:03:26

使用参数的元组:

代码语言:javascript
复制
cursor.execute( "SELECT password FROM peerlist WHERE username=?", (username1,))

参数应该是一个元组或一个列表(一个序列);但是字符串也是一个序列(它有一个长度,您可以对各个字符进行寻址),所以您为.execute()调用提供了一个len(username1)字符序列,而不是一个参数。显然,用户名是3个字符长度,因此出现错误消息。

票数 6
EN

Stack Overflow用户

发布于 2013-03-11 18:00:20

这不是一个好主意,会导致SQL注入。详情请参阅http://docs.python.org/2/library/sqlite3.html

代码语言:javascript
复制
cursor.execute( "SELECT password FROM peerlist WHERE username=%s"%(username1))
票数 -3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15335646

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档