Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Sintax error al hacer update

Estas en el tema de Sintax error al hacer update en el foro de Mysql en Foros del Web. Hola chicos, veran, tengo esta consulta Mysql Código PHP: $sql = mysql_query ( "UPDATE `usuarios` SET `password` = '{$clave}' , `key` = ''   WHERE `key` = '{$key}' " ) or die( mysql_error ());  Y me regresa este error: You have an ...
  #1 (permalink)  
Antiguo 08/01/2010, 11:38
Avatar de JessicaTJ  
Fecha de Ingreso: enero-2007
Ubicación: 127.0.0.1
Mensajes: 472
Antigüedad: 17 años, 2 meses
Puntos: 25
Sintax error al hacer update

Hola chicos, veran, tengo esta consulta Mysql
Código PHP:
$sql=mysql_query("UPDATE `usuarios` SET `password` = '{$clave}' , `key` = ''   WHERE `key` = '{$key}' ") or die(mysql_error()); 
Y me regresa este error:
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='valordecampokeyactual'' at line 1

Ya intente de varias maneras, sin las ` y cosas asi pero sigue dandome el mismo error, a segun yo la sintaxis esta bien, pero sigue el problema, alguno de ustedes sabe ke podria estar mal?

Agradecere mil su ayuda
__________________
٩(͡๏̯͡๏)۶ || ٩(͡๏̯͡๏)۶
  #2 (permalink)  
Antiguo 08/01/2010, 14:48
Avatar de valenti_92  
Fecha de Ingreso: enero-2010
Ubicación: Manresa
Mensajes: 126
Antigüedad: 14 años, 2 meses
Puntos: 4
Respuesta: Sintax error al hacer update

Haber prueva con esto:
Código PHP:
Ver original
  1. $sql=mysql_query("UPDATE usuarios SET password='".$clave."' , key=''   WHERE key = '".$key."'", $link);
  2. if(mysq_num_rows($sql)=="0"){
  3. echo "error mysql";
  4. }
Donde $link es la funcion que conecta con el servidor.
Espero que te sirva.
  #3 (permalink)  
Antiguo 08/01/2010, 14:58
Avatar de masterojitos  
Fecha de Ingreso: julio-2008
Ubicación: Lima Callao Chucuito
Mensajes: 1.931
Antigüedad: 15 años, 8 meses
Puntos: 105
Respuesta: Sintax error al hacer update

de que son esos corchetes ???

haber prueba asi.....

Código MySQL:
Ver original
  1. $sql=mysql_query("UPDATE usuarios SET password = '$clave' , key = '' WHERE key = '$key'") or die(mysql_error());

Suerte.
__________________
Atte. MasterOjitos :ojotes:
Todo sobre Programación Web
Las ultimas tendencias en Efectos y Recursos Web: MasterOjitos Blog
  #4 (permalink)  
Antiguo 09/01/2010, 09:22
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: Sintax error al hacer update

JessicaTJ,
por lo que se refiere a MySQL, no deberías usar como nombre de campo key, pues es una palabra reservada. Sin embargo, usando los acentos graves, como haces tú, podrías mantener ese nombre de columna, aunque no es recomendable.
Esto, sin PHP, funciona:
UPDATE `usuarios` SET `password` = 'escribeestaclave' , `key` = '' WHERE `key` = 'keybuscada'

No nos dices en qué tipo de campo incluyes key y password. Si alguno de ellos no es cadena de texto y es numérico, deberías quitar las comillas simples al valor del campo.

Primero debes comprobar que el update funciona. Luego adaptar el update que te funcione a PHP. Los problemas de sintaxis PHP los resolverás mejor en el foro PHP.
  #5 (permalink)  
Antiguo 11/01/2010, 11:03
Avatar de JessicaTJ  
Fecha de Ingreso: enero-2007
Ubicación: 127.0.0.1
Mensajes: 472
Antigüedad: 17 años, 2 meses
Puntos: 25
Respuesta: Sintax error al hacer update

Hola chicos, gracias por sus respuestas, encontre el problema, como ya habia tenido problemas con el query pense ke seria ese mismo, pero donde tuve problemas fue en un query antes del update, que era un select, igual no se porke me marca error si no utilizo los `` en los querys, esta super raro eso XD

Mil gracias por su ayuda y tiempo chicos ^-^
__________________
٩(͡๏̯͡๏)۶ || ٩(͡๏̯͡๏)۶
  #6 (permalink)  
Antiguo 11/01/2010, 11:10
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Sintax error al hacer update

Cita:
no se porke me marca error si no utilizo los `` en los querys,
Porque no puedes usar indiscriminadamente palabras reservadas (ver 9.6. Tratamiento de palabras reservadas en MySQL).
Cuando usas una palabra como PASSWORD, KEY, ABS, o cualquiera de la lista, como nombre de variable, campo, tabla o base de datos, se generará un error, porque la jerarquía de esas palabras como parte del lenguaje de SQL es superior a su uso como nombre de un objeto, entonces MySQL intenta interpretarlos como cláusulas o sentencias y allí se produce un error.
- Trata en lo posible de no usar las palabras reservadas jamás como nombre de objetos.
- Los nombres de los objetos es preferible que sean en tu idioma, de esa forma podrás reconocerlos con facilidad.
- Los nombres de campo no se deben usar para designar su misma tabla, y los nombres de tabla no se deben usar para designar su misma base. Genera un conflicto de jerarquía y el error es difícil de detectar.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #7 (permalink)  
Antiguo 12/01/2010, 10:23
Avatar de JessicaTJ  
Fecha de Ingreso: enero-2007
Ubicación: 127.0.0.1
Mensajes: 472
Antigüedad: 17 años, 2 meses
Puntos: 25
Respuesta: Sintax error al hacer update

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Porque no puedes usar indiscriminadamente palabras reservadas (ver 9.6. Tratamiento de palabras reservadas en MySQL).
Cuando usas una palabra como PASSWORD, KEY, ABS, o cualquiera de la lista, como nombre de variable, campo, tabla o base de datos, se generará un error, porque la jerarquía de esas palabras como parte del lenguaje de SQL es superior a su uso como nombre de un objeto, entonces MySQL intenta interpretarlos como cláusulas o sentencias y allí se produce un error.
- Trata en lo posible de no usar las palabras reservadas jamás como nombre de objetos.
- Los nombres de los objetos es preferible que sean en tu idioma, de esa forma podrás reconocerlos con facilidad.
- Los nombres de campo no se deben usar para designar su misma tabla, y los nombres de tabla no se deben usar para designar su misma base. Genera un conflicto de jerarquía y el error es difícil de detectar.
Con razon, ya decia yo que algo estaba mal XD

Mil gracias por la explicacion gnzsoloyo, tendre mas cuidado con esas palabras reservadas ahora ^-^
__________________
٩(͡๏̯͡๏)۶ || ٩(͡๏̯͡๏)۶

Etiquetas: update
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 05:39.