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)