sql >> データベース >  >> RDS >> Mysql

UnboundLocalError:割り当て前に参照されるローカル変数'cursor'

    connのみを定義します およびcursor フォーム値をチェックするifブロック内。ブロックが入力されていない場合、それらは定義されていませんが、とにかくそれらを閉じるためにそれらを参照しようとします。 closeのみを呼び出す必要があります それらを定義した場合は両方に。 conn =を移動します およびcursor = ifブロックの前に移動するか、closeを移動します ブロック内への呼び出し。

    ただし、より大きな問題は、Flask-MySQLdbの使用方法を誤解している/複雑にしすぎていることです。リクエストが完了すると、接続が自動的に作成されて閉じられます。これにより、カーソルも閉じられます。 docs で説明されている拡張機能を使用するだけです。 。

    ...
    cur = mysql.connection.cursor()
    cur.callproc('sp_createUser', (name, email, hashed_password))
    data = cur.fetchall()
    ...
    


    1. SQLワークベンチがすべてのクエリで常にnull値でいっぱいの行を返すのはなぜですか?

    2. mysqlクエリでピボット

    3. MySQLコマンドExplain無視LIMIT?

    4. T-SQLの行の以前の値を使用して値を計算する