pymysql.err.InterfaceError: (0, ‘‘)解决办法

数据库超时断开或table表内数据接口异常

在前端一个网页内写了两个table表,并且都需要对数据库进行查询并将数据返回到前端加载到表格中,这里使用的是layui的表格,layui.render()函数似乎一次只能加载一个表格。两个表格访问的是同一个数据库中的不同表,在后端也是重定位到不同函数。该页面在第一次使用时能正常刷新,但是点击几次其他页面以后系统就开始崩溃,直接显示

pymysql.err.InterfaceError: (0, '')

查了一些资料说是mysql数据库默认连接是八个小时,超时可以会断开,实际上我这里可能也存在同时加载两个表中数据导致数据库崩溃的问题。然后直接使用

conn.ping(reconnect=True)

语句就可以解决以上问题。
这里我讲数据库连接放在一个函数内,在需要使用数据库时调用该函数进行判断后实现:

def connect_mysql():
    # 建立操作游标
    # mysql_free_result();
    # cursor = connection_pool.cursor() 
    #conn 在import中引入  
    """conn = pymysql.connect(host='localhost', user='root', passwd='****', db='comm', charset='utf8')"""
    conn.ping(reconnect=True)
    cursor = conn.cursor(cursors.SSCursor)
    return cursor

按以上方法修改代码以后多次刷新页面没再出现这种问题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值