insertar variable python dentro de codigo sql

punchik punchik punchikk en yahoo.com
Lun Mayo 12 10:39:28 CEST 2008


hola , gracias por las respuestas, pero no me funciona ninguna de las dos opciones
   
  si hago :
  sql = 'select descripcion from diccionario where palabra = "hola" '
   
  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?
   
  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





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