Mysql
 sql >> Base de données >  >> RDS >> Mysql

Python MySQL ReferenceError :l'objet faiblement référencé n'existe plus

cursor l'objet utilise la connection objet.
Lorsque votre get_user_by_username la fonction termine son exécution,
la connexion à mysql est fermée donc cursor ne peut pas exister également.
Le fait que la fonction renvoie à la fois la connexion et le curseur fonctionnera.

import mysql.connector

def get_user_by_username(username):
    mydb = mysql.connector.connect(
        host="localhost",
        user=username,
        passwd="k3gc8pHPvEtGqND",
        database="test"
        )

    mycursor = mydb.cursor()

    mycursor.execute("SELECT * FROM users")
    return mydb, mycursor

mydb, mycursor = get_user_by_username("testuser")
for x in mycursor:
    print(x)