sqlite3数据库Python条件语句

Sqlite3 database Python conditional statement

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',程序将简单地要求输入登录电子邮件。如果用户从数据库中输入正确的电子邮件,则打印该客户信息。如果错误,打印 'not'。我不确定我的代码有什么问题。有人可以帮我吗?

据我了解,email 是一个独特的领域。您的查询可能 return 一条记录或什么都没有 (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