Python TypeError:“非类型”对象不可编辑。cur.fetchone()停止while循环
好的,在这里我基本上是想给我的程序做一个登录选项,它会查询数据库,看看数据是否正确。在我引入数据库中没有的登录名之前,它可以正常工作。即使在cur.fetchone给出没有任何错误后,我是否仍可以在工作时进行修改Python TypeError:“非类型”对象不可编辑。cur.fetchone()停止while循环,python,sql,nonetype,Python,Sql,Nonetype,好的,在这里我基本上是想给我的程序做一个登录选项,它会查询数据库,看看数据是否正确。在我引入数据库中没有的登录名之前,它可以正常工作。即使在cur.fetchone给出没有任何错误后,我是否仍可以在工作时进行修改 login= False print "*.*.*.*.*.*.*LOGIN*.*.*.*.*.*.*" while login == False: login1=input("Id:") login1pw=raw_input("Password:")
login= False
print "*.*.*.*.*.*.*LOGIN*.*.*.*.*.*.*"
while login == False:
login1=input("Id:")
login1pw=raw_input("Password:")
cur.execute("select id_func from func where (id_func = %s and function = 'admin');", (login1,))
login2, = cur.fetchone()
cur.execute("select pw from func where id_func = %s", (login1,))
login2pw, = cur.fetchone()
if (login1 == login2 and login1pw == login2pw):
login = True
print "Login successful"
我得到这个错误:
TypeError:“非类型”对象不可编辑
提前谢谢 您可以添加:
r = cur.fetchone ()
if not r:
print ('Login failed')
continue
login2, = r
....
第二次提取也是如此。但现在它不会测试输入的密码是否与数据库中的密码相同。它从未实际运行过以下代码:如果login1==login2和login1pw==login2pw:login=True打印登录成功无终止,我只需要添加一个不同的变量和cur.fetchone。很抱歉。它工作得很好!