Mysql
 sql >> база данни >  >> RDS >> Mysql

Python MySQL ReferenceError:обектът със слабо препратка вече не съществува

cursor обектът използва connection обект.
Когато вашето get_user_by_username функцията завършва изпълнението,
връзката с mysql се затваря, поради което cursor също не може да съществува.
Като функцията върне и връзката, и курсора ще работи.

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)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ШИРОКИ таблици mysql

  2. Как да промените секундите във времева стойност в MySQL

  3. Изборът на MySQL изглежда много бавен, но не мога да мисля как да се подобри?

  4. Как да експортирате данни от SQL Server 2005 в MySQL

  5. FLOT данни от MySQL чрез PHP?