DB-API execute params, am I missing something?

Gabriel Rossetti gabriel.rossetti at arimaz.com
Tue May 26 07:46:49 EDT 2009


Hello everyone, I am trying to use dbapi with mysql and I get this error:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<stdin>", line 2, in getUnitParams
  File "/var/lib/python-support/python2.5/MySQLdb/cursors.py", line 151, 
in execute
    query = query % db.literal(args)
TypeError: int argument required

with this code :

import MySQLdb

def getParams(curs):
    curs.execute("select * from param where id=%d", 1001)
    return curs.fetchall()

cp = MySQLdb.connect(host="localhost",
                     port=3306,
                     user="root",
                     passwd="123",
                     db="test")

curs = cp.cursor()
result = getParams(curs)

I checked MySQLdb.paramstyle and it uses "format". I also tried passing 
(1001,) instead of just 1001 as the param but this changes nothing. What 
am I doing wrong?

Thank you,
Gabriel



More information about the Python-list mailing list