繁体   English   中英

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”,程序将只要求输入登录电子邮件。 如果用户键入来自数据库的正确电子邮件,请打印该客户信息。 如果输入错误,则打印“不”。 我不确定我的代码有什么问题。 有人能帮助我吗?

据我了解, 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)

更多信息在这里

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM