Python mysql游标关闭连接

时间:2015-01-09 20:46:05

标签: python mysql python-2.7 mysql-python

我有一个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:关闭已关闭的连接

由于

2 个答案:

答案 0 :(得分:2)

如果您的try块成功运行,那么您将关闭两次连接。我想你可以把它放在finally块中,这将解决你的问题。

答案 1 :(得分:1)

缩进第二个conn.close(),否则您在成功查询后关闭了已关闭的连接。