2017-06-27 10 views
-2

EDIT:私は愚かなタイプミスを犯しました。SQLiteテーブルから値を取得するときにエラーが発生する

sqliteテーブルから値を取得するには、最後の行の値を取得するためにfetchnone()を使用しました。しかし

'sqlite3.Cursor' object has no attribute 'fetchnone' 

その関数を呼び出すときに、私は不明なエラーを取得しています。ここリダイレクト機能のための私のコードだと、エラーが

@app.route('/<short_url>') 
def redirect(short_url): 
    conn = sqlite3.connect('url.db') 
    cursor = conn.cursor() 

    result_cur = cursor.execute("SELECT URL FROM WEB_URL WHERE S_URL = ?;" ,(short_url,)) 
    try: 
     redirect_url = result_cur.fetchnone() 
     print redirect_url 

     conn.close() 
     return redirect(redirect_url) 
    except Exception as e: 
     error = e 
     return render_template('index.html' , error = error) 

おかげです私は把握することはできません!

編集:私はURL短縮サービスを構築しようとしていますが、私はエラーが生じています

私は、これはStackOverflowののいくつかのルールに反している知っている、しかし、私はリダイレクトに関する別の質問をしたいのですがユーザーを長いURLにリダイレクトするとき私はデータベース用にSQLiteを使用しました。 はここに私のリダイレクトコードです:

@app.route('/<short_url>') 
def redirect(short_url): 
    conn = sqlite3.connect('url.db') 
    cursor = conn.cursor() 

    result_cur = cursor.execute("SELECT URL FROM WEB_URL WHERE S_URL = ?;" ,(short_url,)) 
    try: 
     redirect_url = result_cur.fetchone()[0] 
     print redirect_url 

     conn.close() 
     return redirect(redirect_url , code = 200) 
    except Exception as e: 
     error = e 
     return render_template('index.html' , error = error) 

fetchone()[0]が正しい長いURLを返しますが、私はこのエラーを取得しています生成された短いURLをクリックすることでん

'NoneType' object has no attribute '__getitem__' 

NoneError理由があるべきではありません私はdbから価値を得ています。

+0

[Clippy]あなたは[ 'fetchone()'](https://docs.python.org/3/library/sqlite3.html#sqlite3.Cursor.fetchone)を意味しましたか? –

+0

はい、私はfetchnone()を使用しました[0] –

+2

フェッチ**なし**、フェッチ**ワン**が必要です。 –

答えて

関連する問題