簡體   English   中英

在 sqlite3 中使用用戶輸入(python 3.7)

[英]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 + "%\"")

此外,您正在將resultpastuser用戶進行比較,但結果是一個元組列表,其中包含從SELECT返回的所有元組,如果您只想檢查第一個用戶遇到的更改

if result == pastuser:

if result[0][0] == pastuser:

或者您可以更改fetchall方法fetchone它返回一個元組。

如果要遍歷所有用戶:

for u in result:
    ...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM