您仅在if块中定义
conn并
cursor在其中检查表单值。如果未输入块,则未定义它们,但是您仍然尝试引用它们以将其关闭。
close如果已定义它们,则仅应同时调用它们。无论是移动
conn=和
cursor =if块前,或者移动
close块内调用。
但是,更大的问题是您误解了/使Flask-
MySQLdb的使用变得过于复杂。它将自动创建连接,并在完成请求后将其关闭,这也将关闭游标。只需使用docs中所述的扩展名即可。
...cur = mysql.connection.cursor()cur.callproc('sp_createUser', (name, email, hashed_password))data = cur.fetchall()...


