首页 文章

Python mysql游标关闭连接

提问于
浏览
0

我有一个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()")

Traceback(最近一次调用最后一次):文件“”,第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中引发错误类,errorvalue _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:回溯(最近一次调用最后一次):文件“b.py”,第18行,在conn.close()_mysql_exceptions.ProgrammingError:关闭一个已关闭的连接

谢谢

2 回答

  • 2

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

  • 1

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

相关问题