insertar variable python dentro de codigo sql

Jose Jiménez López jjimenezlopez en gmail.com
Lun Mayo 12 11:33:10 CEST 2008


El 12/05/2008, a las 10:39, punchik punchik escribió:

> hola , gracias por las respuestas, pero no me funciona ninguna de  
> las dos opciones
>
>  si hago :
>  sql = 'select descripcion from diccionario where palabra = "hola" '

ponle también las comillas cuando concatenes con la variable:

sql = 'select descripcion from diccionario where palabra = "' + name +  
'"'

>
>
>  donde "hola" es una palabra que esta en mi base de datos , si me  
> funciona y me aparece el significado asociado a esa palabra, pero  
> cuando intento hacerlo desde forms no me funciona . Ya probe  
> concatenando de las dos maneras y nada.
>
>  Que podra ser?
>
>  Otra pregunta , hay otro peligro {aparte de que me borren mi base  
> de datos } con poner el password de mi base de datos?

ummm... no se si te entiendo... te refieres a ponerla en el correo?  
hay algo más grave que te borren la bd? xD
no deberías, cuando copies y pegues código sustituye los datos como  
nombres de usuario o contraseñas por otros que no sean reales.

>
>
>  gracias
>
>
> Jose Jiménez López <jjimenezlopez en gmail.com> wrote:
>  Hola,
>
> concatenando la cadena de la consulta con la variable, quedaría asi:
>
> sql = 'select descripcion from diccionario where palabra =' + name
>
> También puedes hacerlo de esta otra forma:
>
> sql = 'select descripcion from diccionario where palabra = %s' % name
>
> Como te resulte más cómodo :)
>
> Saludos.
>
> El 12/05/2008, a las 9:49, punchik punchik escribió:
>
>> hola companeros, tengo un pequeno problema de novato, estoy tratando
>> de insertar una variable python (que ha sido llenada desde un
>> formulario) en codigo sql . Tengo una base de datos que esta
>> conformada por palabras y sus descripciones, entonces lo que quiero
>> hacer es insertar la palabra en el formulario html y que luego el
>> script cgi de python busque en mi base de datos la descripcion
>> correspondiente a esa palabra.
>> El codigo me funciona bien si pongo la palabra directamente en el
>> codigo de python pero como puedo hacer para pasar una palabra desde
>> un formulario y que ha sido metida en una variable ?
>>
>> name es la variable que ha sido llenado desde el formulario html
>> aca esta el codigo:
>>
>> #!/usr/bin/python
>>
>> import cgi, cgitb, MySQLdb
>>
>> print "Content-Type: text/html" # HTML is following
>> print # blank line, end of headers
>>
>> form = cgi.FieldStorage()
>> name = form.getvalue('Name')
>> print name
>>
>> db
>> =
>> MySQLdb
>> .connect
>> (host
>> =
>> 'ketaplex
>> .ketaplex
>> .net',user='ketaplex',passwd='audifunu',db='nosexridethelanguage')
>> cursor=db.cursor()
>> #como hago para insertar name?
>> sql='select descripcion from diccionario where palabra = name'
>>
>> #sql='Select * From diccionario'
>> cursor.execute(sql)
>> resultado=cursor.fetchall()
>> print 'Datos de Usuarios'
>> for registro in resultado:
>> print registro[0],'->',registro[1]
>>
>>
>>
>>
>>
>>
>> ---------------------------------
>> Be a better friend, newshound, and know-it-all with Yahoo! Mobile.
>> Try it now.
>> _______________________________________________
>> Lista de correo Python-es
>> http://listas.aditel.org/listinfo/python-es
>> FAQ: http://listas.aditel.org/faqpyes
>
> ---
> Jose Jiménez López
> jjimenezlopez en gmail.com
> www.josejimenez.net
>
>
>
> _______________________________________________
> Lista de correo Python-es
> http://listas.aditel.org/listinfo/python-es
> FAQ: http://listas.aditel.org/faqpyes
>
>
>
> ---------------------------------
> Be a better friend, newshound, and know-it-all with Yahoo! Mobile.   
> Try it now.
> _______________________________________________
> Lista de correo Python-es
> http://listas.aditel.org/listinfo/python-es
> FAQ: http://listas.aditel.org/faqpyes

---
Jose Jiménez López
jjimenezlopez en gmail.com
www.josejimenez.net



_______________________________________________
Lista de correo Python-es 
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes





Más información sobre la lista de distribución Python-es