【发布时间】:2020-04-25 16:41:41
【问题描述】:
我想连接到 mySQL Server 并从 users 表中获取所有用户。但是如果我尝试执行我的代码,它会说:
/bin/python /home/luca/PycharmProjects/Test/sql.py
Traceback (most recent call last):
File "/home/luca/PycharmProjects/Test/sql.py", line 18, in <module>
for x in get_user_by_username("testuser"):
File "/usr/lib/python3.8/site-packages/mysql/connector/cursor.py", line 861, in fetchone
row = self._fetch_row()
File "/usr/lib/python3.8/site-packages/mysql/connector/cursor.py", line 831, in _fetch_row
if not self._have_unread_result():
File "/usr/lib/python3.8/site-packages/mysql/connector/cursor.py", line 351, in _have_unread_result
return self._connection.unread_result
ReferenceError: weakly-referenced object no longer exists
Process finished with exit code 1
这是我的代码
import mysql.connector
def get_user_by_username(username):
mydb = mysql.connector.connect(
host="localhost",
user="testuser",
passwd="k3gc8pHPvEtGqND",
database="test"
)
mycursor = mydb.cursor()
mycursor.execute("SELECT * FROM users")
return mycursor
for x in get_user_by_username("testuser"):
print(x)
为什么会发生这种情况,我该如何解决?
【问题讨论】:
标签: python mysql python-3.x