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. ひねりを加えた時制データベースの設計(ライブ行とドラフト行)

    2. PythonでMySQLdbモジュールをインポートできません

    3. ブラウザを閉じた後にデータベースから削除する

    4. MySQLで文字列を処理するためのexplode()と同等