报错:
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)
在每个方法调用后添加这个代码,判断是否连接上数据库,如果没有连接上自动重新连接
解决二:
创建一个数据库连接,在退出系统时候,关闭连接