Python REST mysql db.commit() error
Question: I am having the same error in python no matter where I put the db.commit()
statement.

Here is my code:

    
    
    from bottle import route, run
    import json
    import collections
    import MySQLdb as db
    
    @route('/register/<COD>/<NOMBRE>/<APELLIDO>/<DIRECCION>/<TEL>/<COD_FAC>', method='PUT')
    def registrar(COD,NOMBRE,APELLIDO,DIRECCION,TEL,COD_FAC):
        c=db.connect('10.100.70.136','koala','toor','lab2',use_unicode=True)
        cur=c.cursor()
        sql1='SELECT * FROM alumnos WHERE codigo="'+COD+'";'
        cur.execute(sql1)
        alumnos=cur.fetchall();
        i=0
        for alumno in alumnos:
            i+=1
            print(i)
    
        if i==0:
    
            operationResult=1
            operationMessage=""
            cur2=c.cursor()
            sql2='INSERT INTO alumnos (codigo,nombre,apellido,direccion,telefono,codigoFacultad) VALUES ("'+COD+'","'+NOMBRE+'","'+APELLIDO+'","'+DIRECCION+'","'+TEL+'","'+COD_FAC+'");'
            cur2.execute(sql2)
    
    
    
    
        else:
            operationResult=2
            operationMessage="El alumno con codigo "+COD+" ya se encuentra registrado" 
    
        db.commit()
        db.close()
        results = []
        d=collections.OrderedDict()
        d['operationResult'] = operationResult
        d['operationMessage'] = operationMessage
        results.append(d)
        j = json.dumps(results)
    
        return j
    
    run(host='localhost',port=8080,debug=True)
    

The error that I get is this:

AttributeError("'module' object has no attribute 'commit'",)

And the description that I get is the following:

    
    
    Traceback (most recent call last):
    File &quot;/usr/local/lib/python2.7/dist-packages/bottle-0.12.7-py2.7.egg/bottle.py&quot;, line 862, in _handle
    return route.call(**args)
    File &quot;/usr/local/lib/python2.7/dist-packages/bottle-0.12.7-py2.7.egg/bottle.py&quot;, line 1729, in wrapper
    rv = callback(*a, **ka)
    File &quot;tarea.preg4.py&quot;, line 33, in registrar
    db.commit()
    AttributeError: &#039;module&#039; object has no attribute &#039;commit&#039;
    


Answer: You want to call commit on the connection object - which is `c` in your case.
(so make it `c.commit()` instead of `db.commit()`)

You can find the python dbapi connection methods
[here](http://legacy.python.org/dev/peps/pep-0249/#connection-methods).

