Python 如何打印fetchone()函数,但获取非类型错误?Sqlite3

Python 如何打印fetchone()函数,但获取非类型错误?Sqlite3,python,sqlite,Python,Sqlite,我正试图打印fetchone()值,但它只给了我一个错误,“非类型”对象不可编辑,有人知道为什么吗 这是我的密码: def viewemaillook(): global realusername global realpassword viewemail = input("Would you like to see/change your email") if viewemail == "y" or viewemail == "y

我正试图打印fetchone()值,但它只给了我一个错误,
“非类型”对象不可编辑
,有人知道为什么吗

这是我的密码:

def viewemaillook():
        global realusername
        global realpassword
        viewemail = input("Would you like to see/change your email")
        if viewemail == "y" or viewemail == "yes":
            c.execute("SELECT email, * FROM stuffToPlot WHERE username = ?  and password = ?", (realusername,realpassword,))
            grab = c.fetchone()
            for i in grab:
                print(i)
        elif viewemail == "n" or "no":
            print("Okay")
        else:
            print("Invalid option")
            viewemaillook()
    viewemaillook()
else:
    print("Not a valid option")
    change()
change()

如果查询未找到任何结果,则
fetchone()
将返回
None
。当您尝试在
grab
上循环时,它等于
None
,您将得到错误。首先尝试在
抓取
中检查是否有结果。

它正在打印(“无”),知道原因吗?我在数据库中保存了一封电子邮件不确定,您的光标是否指向正确的数据库?表名正确吗?可能有多种原因。首先尝试通过硬编码值来运行查询。