python报错:raise err.InterfaceError(0, ““)pymysql.err.InterfaceError: (0, ‘‘)

报错:

Traceback (most recent call last):
  File "E:\大数据\PythonCode\project07\zuoye0103.py", line 102, in <module>
    showStuList()
  File "E:\大数据\PythonCode\project07\zuoye0103.py", line 49, in showStuList
    num = db_cursor.execute(sql)
  File "E:\python\python310\lib\site-packages\pymysql\cursors.py", line 153, in execute
    result = self._query(query)
  File "E:\python\python310\lib\site-packages\pymysql\cursors.py", line 322, in _query
    conn.query(q)
  File "E:\python\python310\lib\site-packages\pymysql\connections.py", line 557, in query
    self._execute_command(COMMAND.COM_QUERY, sql)
  File "E:\python\python310\lib\site-packages\pymysql\connections.py", line 840, in _execute_command
    raise err.InterfaceError(0, "")
pymysql.err.InterfaceError: (0, '')

原因:

执行代码第一次代码调用正常,第二次调用任意方法,因为第一次调用后关闭数据库连接导致第二次调用方法数据库连接没有连接上而报错。

解决一: 

db_connection.ping(reconnect=True)

 在每个方法调用后添加这个代码,判断是否连接上数据库,如果没有连接上自动重新连接

解决二:

创建一个数据库连接,在退出系统时候,关闭连接

 

  • 14
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值