Problemas con PostgreSQL
luis miguel morillas
morillas en posta.unizar.es
Jue Feb 12 01:16:59 CET 2004
Asunto: Re: [Python-es] Problemas con PostgreSQL
Fecha: mié, feb 11, 2004 at 08:58:06 +0000
Citando a Ayose (setepo en gulic.org):
> On Wed, Feb 11, 2004 at 07:34:05PM +0000, Esteban Manchado Velázquez wrote:
> > > [...]
> >
> > O sea, que se puede. ¿Y cómo es eso?
> >
>
> Con un argumento opcional en el execute, que puede ser una secuencia o
> un diccionario. Por ejemplo
>
> cursor = conn.cursor()
> cursor.execute('SELECT a FROM b WHERE c=%s AND d=%s', (v1, v2))
> ~~~~ ~~~~
>
Exacto. Un error frecuente, que puede provocar la inyección de código sql,
es construir la sentencia sql como si se tratara de una cadena sql,
en lugar de hacer que el cursor construya los objetos de la consulta:
************* esto está MAL ***************
cursor.execute('SELECT a FROM b WHERE c=%s AND d=%s' % (v1, v2))
~~~
Creo que a este error se refería Esteban. Acaban de insertar una entrada en
el wiki de python sobre este tema:
http://www.python.org/cgi-bin/moinmoin/DbApiFaq
--
Luis Miguel
No a las patentes de software en Europa
EuropeSwPatentFree
http://EuropeSwPatentFree.hispalinux.es
Más información sobre la lista de distribución Python-es