[英]Using user input (python 3.7) in sqlite3
嘿伙計們,我現在正在處理一項任務,我正在嘗試添加一個登錄功能,該功能會詢問用戶的用戶名,然后查看他們的輸入是否與數據庫中的任何內容匹配。 原諒我的編碼不好,這是我的第二年,我在 10 年級。
import sqlite3
db = sqlite3.connect('library.db')
cursor = db.cursor()
result = cursor.fetchall
def login():
user = input("VAT IS YAH USERNAM: ")
pastuser = user
user = ("%" + user + "%")
cursor.execute("SELECT username FROM Users WHERE username LIKE " + user)
result = cursor.fetchall()
if result == pastuser:
print("VAT IS YAH PASWRD")
login()
盡管沒有提供問題,但您的SELECT
語句出現語法錯誤,因為它在LIKE
上的%
符號之間缺少"
所以更改
user = ("%" + user + "%")
到
user = ("\"%" + user + "%\"")
此外,您正在將result
與pastuser
用戶進行比較,但結果是一個元組列表,其中包含從SELECT
返回的所有元組,如果您只想檢查第一個用戶遇到的更改
if result == pastuser:
到
if result[0][0] == pastuser:
或者您可以更改fetchall
方法fetchone
它返回一個元組。
如果要遍歷所有用戶:
for u in result:
...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.