import sqlite3
conn = sqlite3.connect('LeVinEmployee.db')
profile = input("Are you a user? y/n: ")
if profile == 'y':
login = input("Enter login name: ")
#passw = input("Enter password: ")
c = conn.cursor()
c.execute("SELECT * FROM Employee WHERE Email = '" + login + "'")
result = c.fetchone()
if result[0] == 1:
print(c.fetchall())
else:
print("not")
else:
print("You are not a user")
我想在这里做的很简单。我正在尝试创建用户登录功能。如果用户输入“y”,程序将只是要求输入登录电子邮件。如果用户从数据库中键入正确的电子邮件,则打印该客户信如果错了,打印'不'。我不确定我的代码有什么问题。有人能帮帮我吗?
答案 0 :(得分:2)
据我了解,email
是一个独特的领域。并且您的查询可以返回一条记录或不返回任何内容(None
)。尝试
result = c.fetchone()
if result: # result could be None or tuple (record)
print(result)
else:
print("not")
此外,这种参数传递方法不正确(不安全)
c.execute("SELECT * FROM Employee WHERE Email = '" + login + "'")
使用
c.execute("SELECT * FROM Employee WHERE Email=?", login)
更多信息here。