2017-11-01 2 views
0
私はfetchone()値を印刷しようとしていますが、それはちょうど私のエラー 'NoneType' object is not iterableを与え、ここで

どのようにfetchone()関数を印刷するのですか?NoneTypeエラーを取得しますか? sqlite3の

が私のコードである理由を誰もが知っているん

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() 

答えて

1

クエリは結果を見つけていない場合fetchone()Noneを返します。 をNoneと同じにすると、エラーが発生します。最初に結果がgrabかどうかを確認してください。

+0

それは何らかの理由で印刷していますか?私は電子メールをデータベースに保存しました –

+0

あなたのカーソルは正しいデータベースを指していますか?テーブル名は正しいですか?さまざまな理由が考えられます。値をハードコーディングして最初にクエリを実行してみてください。 –

関連する問題