【发布时间】:2017-05-28 18:30:38
【问题描述】:
我写的一些代码有问题:
def login(username, password):
c.execute("SELECT * FROM masterPasswords WHERE passw='{}' AND user='{}'".format(password, username))
if passw == password and user == username:
return True
else:
return False
这是错误日志:
Traceback (most recent call last):
File "C:/Users/fraze/Documents/GitHub/Password-Management/main.py", line 65, in <module>
account()
File "C:/Users/fraze/Documents/GitHub/Password-Management/main.py", line 28, in account
tryLogin()
File "C:/Users/fraze/Documents/GitHub/Password-Management/main.py", line 15, in tryLogin
if am.login(usernameInput, masterPassInput) == usernameInput and masterPassInput:
File "C:\Users\fraze\Documents\GitHub\Password-Management\accountManagement.py", line 19, in login
c.execute("SELECT * FROM masterPasswords WHERE passw='{}' AND user='{}'".format(password, username))
sqlite3.OperationalError: no such column: passw
我需要一些帮助...
【问题讨论】:
-
首先查询应该是类似
c.execute("SELECT * FROM masterPasswords WHERE passw=? AND user=?", (password, username))来参数化它。但我不知道这是否可行,因为您可能没有使用名为passw的列构建和表格。 -
是的,显然您的表没有
passw列。这里有什么问题?