【发布时间】:2018-11-26 00:22:33
【问题描述】:
我正在做一个简单的登录,并有一个标题为“用户”的表格。我正在尝试使用我的登录表单 POST 正文并在整个数据库中进行验证。
表单中的值:
user = request.form['username']
password = request.form['password']
SQL 语句:
conn = sqlite3.connect(db)
cur = conn.cursor()
cur.execute("SELECT * FROM Users WHERE Username LIKE '(%s)'" % user)
row = cur.fetchone()
用户表:
所以在我的表单中的POST 请求中,打印的内容如下:
Print(user, password) = ph104694 Password123
Print(row) = None
因此,当数据绝对存在时,您可以看到该行被返回为None。如果我将user 更改为我知道不正确的内容,我会得到相同的结果,但如果我将表格从Users 更改为Users2 之类的内容,我会遇到no table exists 错误,这很好.因此,尽管存在与我的语句匹配的数据,但它不允许它生成该行。有什么想法吗?
【问题讨论】:
标签: python sql python-3.x sqlite