Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python TypeError:“非类型”对象不可编辑。cur.fetchone()停止while循环_Python_Sql_Nonetype - Fatal编程技术网

Python TypeError:“非类型”对象不可编辑。cur.fetchone()停止while循环

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:")

好的,在这里我基本上是想给我的程序做一个登录选项,它会查询数据库,看看数据是否正确。在我引入数据库中没有的登录名之前,它可以正常工作。即使在cur.fetchone给出没有任何错误后,我是否仍可以在工作时进行修改

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。很抱歉。它工作得很好!