基本上问题是fetch all方法返回一个空列表,并且我已经在此方法之外检查以查看我输入的值是否为ronaldb
并且123456
目前位于login
TABLE
内,他们这样做,所以我相信signin_check
方法有些问题我没看到。我在网站上看到了类似问题的其他问题,但都没有解决我的问题。
conn = sqlite3.connect('login.db')
c = conn.cursor()
def signin_check():
global obj
username_information = obj.username.get()
password_information = obj.password.get()
c.execute("SELECT * FROM login WHERE password =:password and user = :user" , {'password' : str(username_information) , 'user' : str(password_information)})
if c.fetchall() == []:
print (False)
else:
print(True)
c.execute("SELECT * FROM login WHERE user = :user" , {'password' : '123456' , 'user' : 'ronaldb'})
print(c.fetchall())
[('qeqwe', 'qweqwewq', 'ronaldb', '123456', 'multiple', 'Dr.', 'ee')]
c.execute("""CREATE TABLE login (
first text,
last text,
user text ,
password text,
accounttype text,
title text,
buisness text
)""")
答案 0 :(得分:0)
c.execute("SELECT * FROM login WHERE password =:password and user = :user" , {'password' : str(username_information) , 'user' : str(password_information)})
这行代码在这里。您将用户信息放在应该有密码信息的位置,反之亦然