簡體   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