Definiujesz tylko conn
i cursor
wewnątrz bloku if sprawdzającego wartości formularza. Jeśli blok nie jest wprowadzony, nie jest zdefiniowany, ale nadal próbujesz się do niego odwoływać, aby mimo wszystko je zamknąć. Powinieneś tylko zadzwonić close
na obu, jeśli je zdefiniowałeś. Albo przenieś conn =
i cursor =
przed blokiem if lub przesuń close
wzywa do wewnątrz bloku.
Jednak większym problemem jest to, że nie rozumiesz/nadmiernie komplikujesz, jak używać Flask-MySQLdb. Automatycznie utworzy połączenie i zamknie je po zakończeniu żądania, co spowoduje również zamknięcie kursora. Po prostu użyj rozszerzenia zgodnie z opisem w dokumentacji .
...
cur = mysql.connection.cursor()
cur.callproc('sp_createUser', (name, email, hashed_password))
data = cur.fetchall()
...