mysqldb interfaceError
Question: I have a very weird problem with mysqldb (mysql module for python).

I have a file with queries for inserting records in tables. If I call the
functions from the file, it works just fine; but when trying to call one of
the functions from another file it throws me a

> _mysql_exception.InterfaceError: (0, '')

I really don't get what I'm doing wrong here..

I call the function from `buildDB.py` :

    
    
    import create
    
    create.newFormat("HD", 0,0,0)
    

The function newFormat(..) is in create.py (imported) :

    
    
    from Database import Database
    
    db = Database()
    
    def newFormat(name, width=0, height=0, fps=0):
        format_query = "INSERT INTO Format (form_name, form_width, form_height, form_fps)  VALUES ('"+name+"',"+str(width)+","+str(height)+","+str(fps)+");"
        db.execute(format_query)
    

And the class Database is the following :

import MySQLdb from MySQLdb.constants import FIELD_TYPE

    
    
    class Database():
        def __init__(self):
            server = "localhost"
            login = "seq"
            password = "seqmanager"
            database = "Sequence"
            my_conv = { FIELD_TYPE.LONG: int }
    
            self.conn = MySQLdb.connection(host=server, user=login, passwd=password, db=database, conv=my_conv)
            # self.cursor = self.conn.cursor()
    
        def close(self):
            self.conn.close()
    
        def execute(self, query):
            self.conn.query(query)
    

(I put only relevant code)

Traceback :

    
    
    Z:\sequenceManager\mysql>python buildDB.py
    D:\ProgramFiles\Python26\lib\site-packages\MySQLdb\__init__.py:34: DeprecationWa
    rning: the sets module is deprecated
      from sets import ImmutableSet
    INSERT INTO Format (form_name, form_width, form_height, form_fps) VALUES ('HD',0
    ,0,0);
    Traceback (most recent call last):
      File "buildDB.py", line 182, in <module>
        create.newFormat("HD")
      File "Z:\sequenceManager\mysql\create.py", line 52, in newFormat
        db.execute(format_query)
      File "Z:\sequenceManager\mysql\Database.py", line 19, in execute
        self.conn.query(query)
    _mysql_exceptions.InterfaceError: (0, '')
    

The warning has never been a problem before so I don't think it's related.


Answer: I got this error when I was trying to use a closed connection.

