sql >> Database >  >> RDS >> Mysql

UnboundLocalError:lokale variabele 'cursor' waarnaar wordt verwezen vóór toewijzing

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


  1. PL/SQL:Fout PLS-00306:verkeerd aantal of typen argumenten in aanroep tot geactiveerd voor tabel met getallen

  2. Wat betekent het om aan een string te ontsnappen?

  3. Introductie van de Easysoft Oracle® Driver in uw SOA-omgeving

  4. Waarden citeren met group_concat