我有一个python脚本获取我的mysql版本,但我一直得到同样的错误" _mysql_exceptions.InterfaceError:(0,'')"
我去了python2.7控制台并尝试了相同的,
import MySQLdb
conn = MySQLdb.connect (host="localhost",user="user", passwd="pass", db="example")
cursor = conn.cursor()
cursor.execute ("SELECT VERSION()")
追踪(最近一次通话): 文件"",第1行,在 文件" /usr/local/lib/python2.7/site-packages/MySQLdb/cursors.py" ;,第205行,执行 self.errorhandler(self,exc,value) 文件" /usr/local/lib/python2.7/site-packages/MySQLdb/connections.py" ;,第36行,在defaulterrorhandler中 提出错误类,错误值 _mysql_exceptions.InterfaceError:(0,'')
和文件
import sys
import MySQLdb
try:
conn = MySQLdb.connect (host="localhost",user="user", passwd="pass", db="example")
except MySQLdb.Error, e:
print "Error %d: %s" % (e.args[0], e.args[1])
sys.exit (1)
try:
cursor = conn.cursor()
cursor.execute ("SELECT VERSION()")
row = cursor.fetchone ()
print "server version:", row[0]
cursor.close ()
except MySQLdb.Error, e:
print "Error %d: %s" % (e.args[0], e.args[1])
#sys.exit (1)
conn.close ()
[user @ localhost] $ python b.py
错误0: Traceback(最近一次调用最后一次): 文件" b.py",第18行,in conn.close() _mysql_exceptions.ProgrammingError:关闭已关闭的连接
由于
答案 0 :(得分:2)
如果您的try块成功运行,那么您将关闭两次连接。我想你可以把它放在finally块中,这将解决你的问题。
答案 1 :(得分:1)
缩进第二个conn.close(),否则您在成功查询后关闭了已关闭的连接。