U definieert alleen conn
en cursor
binnen het if-blok dat de formulierwaarden controleert. Als het blok niet is ingevoerd, zijn ze niet gedefinieerd, maar u probeert er toch naar te verwijzen om ze toch te sluiten. Je moet alleen close
bellen op beide als je ze hebt gedefinieerd. Verplaats ofwel conn =
en cursor =
naar vóór het if-blok, of verplaats de close
oproepen binnen het blok.
Het grotere probleem is echter dat u het gebruik van Flask-MySQLdb niet goed begrijpt/te ingewikkeld maakt. Het zal automatisch de verbinding tot stand brengen en sluiten wanneer het verzoek is voltooid, waardoor ook de cursor wordt gesloten. Gebruik gewoon de extensie zoals beschreven in de docs .
...
cur = mysql.connection.cursor()
cur.callproc('sp_createUser', (name, email, hashed_password))
data = cur.fetchall()
...