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