python调试mysql数据库时,在测试单条查询语句的时候是没有问题的。

执行过程如下:

1、由连接对象conn获取到一个cursor。 cur = conn.cursor()

2、执行sql语句。 count = cur.execute(sql)

3、读取数据。  result = cur.fetchone() #获取一条

4、关闭游标、连接。cur.close() conn.close()


这个查询过程执行一次没有问题,但是多次执行的时候就出现了,NoneType.

或者是 charset = db.character_set_name()

    _mysql_exceptions.InterfaceError: (0, '')

之类的错误。


原因是,定义的conn连接对象是一个全局的变量,当第一次执行完成改查询最后,

执行conn.close()关闭操作,该操作会使得conn连接对象关闭。再次使用改对象时,

则出现如题所示错误。