import mysql.connector
db_info = dict()
db_info['host'] = ‘127.0.0.1’
db_info['port'] = 3306
db_info['user'] = ‘root’
db_info['passwd'] = 'root'
db_info['database'] = 'test'
cur = mysql.connector.connect(**db_info).cursor()
cur.execute("SHOW databases;")
File "/usr/lib64/python2.7/site-packages/mysql/connector/cursor_cext.py", line 232, in execute
if not self._cnx:
ReferenceError: weakly-referenced object no longer exists
代码报错的原因是这行:cur = mysql.connector.connect(**db_info).cursor()
解决方法是:拆成两行才可以
conn = mysql.connector.connect(**db_info)
cur = conn.cursor()
这篇博客中,作者遇到了使用Python的mysql.connector模块尝试连接MySQL数据库时出现的ReferenceError。错误发生在尝试执行SQL查询之前,具体为弱引用的对象不再存在。解决方案是将连接数据库和创建游标的操作分开,先建立连接,然后创建游标。通过这样做,成功避免了引用问题,能够正常执行数据库操作。
545

被折叠的 条评论
为什么被折叠?



