MySQLdb select

Gerhard Häring gh at
Sat Jul 31 16:35:53 CEST 2004

F. GEIGER wrote:
> "John Fabiani" <jfabiani at> schrieb:
>> I'm a newbie and I'm attempting to learn howto create a select statement.
>>When I use
>>>>>string1='18 Tadlock Place'
>>>>>cursor.execute("SELECT * FROM mytest where address = %s",string1)
>>All works as expected.  But
>>>>>cursor.execute("SELECT * FROM mytest where clientID = %d",numb)
 >> [...] raise errorclass, errorvalue
 >>TypeError: int argument required

Then use %i for integers ;-)

> I'm used to do that this way:
> cursor.execute("SELECT * FROM mytest where clientID = %d" % numb)

That's particularly BAD STYLE. It's best to keep to letting the DB-API 
do the proper quoting for all parameters.

-- Gerhard

More information about the Python-list mailing list