Definujete pouze conn
a cursor
uvnitř bloku if, který kontroluje hodnoty formuláře. Pokud není blok zadán, nejsou definovány, ale přesto se na ně pokoušíte odkazovat a zavřít je. Měli byste volat pouze close
na obou, pokud jste je definovali. Buď přesuňte conn =
a cursor =
před blok if nebo přesuňte close
volání v rámci bloku.
Větší problém je však v tom, že nerozumíte / příliš komplikujete, jak používat Flask-MySQLdb. Automaticky vytvoří připojení a po dokončení požadavku jej zavře, čímž se také zavře kurzor. Jednoduše použijte rozšíření, jak je popsáno v dokumentech .
...
cur = mysql.connection.cursor()
cur.callproc('sp_createUser', (name, email, hashed_password))
data = cur.fetchall()
...