getting error with execute many in python
Question: I am learning python and i am new bie. I am trying to use functions with mysql
and python and i ma getting errors

This is my script

    
    
    import MySQLdb
    def insert_values(cursor, values):
        #cursor = self.connection.cursor()
        cursor.executemany("""
            insert into pythontest (name1,name2,name3)
            values (%s, %s, %s)""", values)
        cursor.close()
    
    db = MySQLdb.connect("localhost","root","root","python" )
    cursor = db.cursor()
    
    var1 = ['name1','name2','name3']
    insert_values(cursor,var1)
    
    db.close()
    

There may be many errors because i am learning

> 1)i don't know how can i pass db object in function or passing cusrsor is
> ok. because i have to call that function many times in for loop
>
> 2)is the syntax of values array ok to go in database

ERRORS

    
    
    File "mysql.py", line 10, in insert_values
        values (%s, %s, %s)""", values)
      File "build/bdist.linux-i686/egg/MySQLdb/cursors.py", line 216, in executemany
      File "build/bdist.linux-i686/egg/MySQLdb/connections.py", line 36, in defaulterrorhandler
    _mysql_exceptions.ProgrammingError: not enough arguments for format string
    


Answer: 
    cursor.executemany("""
            insert into pythontest (name1,name2,name3)
            values (%s, %s, %s)""", *values)
    

