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