Foros del Web » Programando para Internet » PHP »

Lio con update

Estas en el tema de Lio con update en el foro de PHP en Foros del Web. tengo este update a mi bd @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: Ver original $acc = "UPDATE libro_users key SET key = ' $cad ' WHERE usuario ...
  #1 (permalink)  
Antiguo 27/01/2012, 13:05
Avatar de el_cesar  
Fecha de Ingreso: mayo-2001
Ubicación: Cali
Mensajes: 2.423
Antigüedad: 23 años
Puntos: 20
Lio con update

tengo este update a mi bd

Código PHP:
Ver original
  1. $acc = "UPDATE libro_users key SET key = '$cad' WHERE usuario = '$user'";

y me da este error

Cita:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'key SET key = 'hoBxEWz08ZXQ1CVAHto7gblYesFH2pn4bsPQqLpDcfFb2Fjju fFKFdpxjwwabZS4G' at line 1
a que se debe? he revisado la sintaxis y creo que esta bien
__________________
Say no more.......
  #2 (permalink)  
Antiguo 27/01/2012, 13:11
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Lio con update

escapaste las comillas para evitar SQL inyections?
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 27/01/2012, 13:11
Avatar de el_cesar  
Fecha de Ingreso: mayo-2001
Ubicación: Cali
Mensajes: 2.423
Antigüedad: 23 años
Puntos: 20
Respuesta: Lio con update

Cita:
Iniciado por maycolalvarez Ver Mensaje
escapaste las comillas para evitar SQL inyections?


mmmm como asi, no entendi esa parte
__________________
Say no more.......
  #4 (permalink)  
Antiguo 27/01/2012, 13:13
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 15 años, 6 meses
Puntos: 175
Respuesta: Lio con update

esto esta demas?

UPDATE libro_users key SET
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...
  #5 (permalink)  
Antiguo 27/01/2012, 13:16
Avatar de el_cesar  
Fecha de Ingreso: mayo-2001
Ubicación: Cali
Mensajes: 2.423
Antigüedad: 23 años
Puntos: 20
Respuesta: Lio con update

Cita:
Iniciado por loncho_rojas Ver Mensaje
esto esta demas?

UPDATE libro_users key SET

No si le quito eso da el mismo error
__________________
Say no more.......
  #6 (permalink)  
Antiguo 27/01/2012, 13:18
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Lio con update

cierto, en ese caso key actuaría como un alias, pero realiza un echo de la cadena SQL y ejecútala en un gestor de DB como phpMyAdmin y verifica si es error de sintaxis, producido quizá por no escapar las variables como te indiqué anteriormente, por lo que tu código no está protegido contra SQL Inyections
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #7 (permalink)  
Antiguo 27/01/2012, 13:26
Avatar de el_cesar  
Fecha de Ingreso: mayo-2001
Ubicación: Cali
Mensajes: 2.423
Antigüedad: 23 años
Puntos: 20
Respuesta: Lio con update

el echo que le hice me dio como resultado

Cita:
UPDATE libro_users key SET key = 'qWKyPHTyNIIDAVUvNorIhSlAL2iltPfYlqM2xgoowCoHWZUAG diZDik5FLnUrB7WNxItaHWMKAThZnhfGE5JneDtqqDWr0s5w1n M90YH0soYVL5bPxl4Rol8ToSAn6Y1hkxg05eqi4Atwc0jC21qc wFD' WHERE usuario = 'cejarcon'
y lo probe en phpmyadmin y me dice

Cita:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'key SET key = 'qWKyPHTyNIIDAVUvNorIhSlAL2iltPfYlqM2xgoowCoHWZUAG diZDik5FLnUrB7WN' at line 1
__________________
Say no more.......
  #8 (permalink)  
Antiguo 27/01/2012, 13:29
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 15 años, 6 meses
Puntos: 175
Respuesta: Lio con update

no se si tiene algo que ver, pero no sera que el Key es muy largo o esta con MD5 o algun Hash?
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...
  #9 (permalink)  
Antiguo 27/01/2012, 13:33
Avatar de Ribon  
Fecha de Ingreso: septiembre-2010
Ubicación: El firmamento
Mensajes: 487
Antigüedad: 13 años, 7 meses
Puntos: 91
Respuesta: Lio con update

El problema es con el alias que le pusiste, tiene el mismo nombre de uno de los campos de la tabla, ya habías tenido ese mismo problema antes >.<

http://www.forosdelweb.com/f86/probl...0/#post4095082

gnzsoloyo se pone con la respuesta.

saludos.
__________________
Utilice el Highlight para mostrar código, mis ojos se lo agradecerán :)
qué es esto? :O -> http://i48.tinypic.com/5x3kzs.png
Ya sabes :)
  #10 (permalink)  
Antiguo 27/01/2012, 13:38
Avatar de el_cesar  
Fecha de Ingreso: mayo-2001
Ubicación: Cali
Mensajes: 2.423
Antigüedad: 23 años
Puntos: 20
Respuesta: Lio con update

Pero en este creo que ya le quite el alias, lo tengo asi

UPDATE libro_users SET key = 'lBHCNdsXU1' WHERE usuario = 'cejarcon'

y da el error
__________________
Say no more.......
  #11 (permalink)  
Antiguo 27/01/2012, 13:47
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: Lio con update

Resulta que KEY es una palabra reservada de MySQL y no se aconseja usarla, pero se puede solucionar encerrandola:

`KEY`

Tratamiento de palabras reservadas en MySQL
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #12 (permalink)  
Antiguo 27/01/2012, 13:50
Avatar de el_cesar  
Fecha de Ingreso: mayo-2001
Ubicación: Cali
Mensajes: 2.423
Antigüedad: 23 años
Puntos: 20
Respuesta: Lio con update

Cita:
Iniciado por andresdzphp Ver Mensaje
Resulta que KEY es una palabra reservada de MySQL y no se aconseja usarla, pero se puede solucionar encerrandola:

`KEY`

Tratamiento de palabras reservadas en MySQL
Gracias andres ese era el problema, y aprovechando que lo mencionas, existe alguna parte donde pueda consultar esas palabras reservadas para que no me vuelva a pasar?
__________________
Say no more.......
  #13 (permalink)  
Antiguo 27/01/2012, 13:51
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: Lio con update

Cita:
Iniciado por el_cesar Ver Mensaje
Gracias andres ese era el problema, y aprovechando que lo mencionas, existe alguna parte donde pueda consultar esas palabras reservadas para que no me vuelva a pasar?
Revisa el enlace que te dejé...

Saludos.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP

Etiquetas: lio, mysql, sql, update, usuarios
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:47.