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

Error "right syntax to use near '1' at line 1"

Estas en el tema de Error "right syntax to use near '1' at line 1" en el foro de Mysql en Foros del Web. Hola a todos y todas: Recibo este error en un Update y no se por qué Cita: Error in query Update USER. You have an ...
  #1 (permalink)  
Antiguo 16/03/2011, 00:39
Avatar de Rankxerox1984  
Fecha de Ingreso: septiembre-2010
Mensajes: 253
Antigüedad: 13 años, 7 meses
Puntos: 4
Error "right syntax to use near '1' at line 1"

Hola a todos y todas:

Recibo este error en un Update y no se por qué

Cita:
Error in query Update USER. 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 '1' at line 1
Aquí el query tal como está escrito desde el generador de SQL de MySQL en donde, por supuesto, funciona

Código PHP:
$UpdateUSER mysql_query ("Update usuarios set `idPER`= '$idPER' Where `idPrimaryUSER`= '$PKUSER'"); 
¿Alguien me puede indicar en dónde está el error?

Muchas gracias por adelantado,
__________________
J.
¿Dónde está la tecla ‘ANY’?
(H. Simpson)
  #2 (permalink)  
Antiguo 16/03/2011, 02:05
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Error "right syntax to use near '1' at line 1"

Los apostrofes rodeando las variables sobran pero ese no deberia ser el problema.

Estas seguro que las dos variables reciben el valor que esperas....

Haz

echo "Update usuarios set `idPER`= '$idPER' Where `idPrimaryUSER`= '$PKUSER'";

antes de lanzar la query para ver si todo esta en su sitio...
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #3 (permalink)  
Antiguo 16/03/2011, 03:09
Avatar de Rankxerox1984  
Fecha de Ingreso: septiembre-2010
Mensajes: 253
Antigüedad: 13 años, 7 meses
Puntos: 4
Respuesta: Error "right syntax to use near '1' at line 1"

Hola Quim:

Graqcias por acudir en mi auxilio . En cuanto a los apóstrofes en otros querys (INSERT) los tengo y alli no dice nada.
He hecho el echo y me devuelve:
Cita:
Update usuarios set `idPER`= '13' Where `idPrimaryUSER`= '4'
y además:
Cita:
Error in query Update USER. 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 '1' at line 1
Las variables son correctas ¿Te sugiere algo? sigo investigando
__________________
J.
¿Dónde está la tecla ‘ANY’?
(H. Simpson)
  #4 (permalink)  
Antiguo 16/03/2011, 03:24
Avatar de Rankxerox1984  
Fecha de Ingreso: septiembre-2010
Mensajes: 253
Antigüedad: 13 años, 7 meses
Puntos: 4
Respuesta: Error "right syntax to use near '1' at line 1"

Hola de Nuevo:

Con independencia del error mencionado, la actualización de la tabla se produce correctamente.

¿quizás debería eliminar/corregir la sentencia de error "or die" de después del query?

La pongo para que veáis:

Código PHP:
$resultUSER mysql_query ($UpdateUSER) or die ("Error in query Update USER. ".mysql_error()); 
Se admiten sugerencias

Muchas gracias en cualquier caso
__________________
J.
¿Dónde está la tecla ‘ANY’?
(H. Simpson)
  #5 (permalink)  
Antiguo 16/03/2011, 05: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, 5 meses
Puntos: 2658
Respuesta: Error "right syntax to use near '1' at line 1"

No. El error devuelto por MySQL es un error real de SQL, no un problema de implementación de PHP, que en todo caso devolvería un "parse error".
Pero noto que en el primer post mencionas la variable $UpdateUSER como un objeto de clase Result de PHP, mientras que en el último es en realidad una variable de cadena. ¿Qué es en realidad $UpdateUSER? ¿El el resultado de la consulta o la variable que contiene la cadena de la consulta?

¿Probaste quitándole los apóstrofes?
Código MySQL:
Ver original
  1. UPDATE usuarios SET `idPER`= 13
  2. WHERE `idPrimaryUSER`=  4
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #6 (permalink)  
Antiguo 16/03/2011, 23:42
Avatar de Rankxerox1984  
Fecha de Ingreso: septiembre-2010
Mensajes: 253
Antigüedad: 13 años, 7 meses
Puntos: 4
Respuesta: Error "right syntax to use near '1' at line 1"

Hola gnzsoloyo:

Disculpa mi supina ignorancia pero no entiendo lo de la variable $UpdateUSER. Este esquema de sentencia lo vengo heredando desde el principio del proyecto y hasta ahora me venía funcionando.
Primero escribo la select en una línea de código, normalmente, para evitar problemas la construyo con el editor SQL de MysqlServer en phpMyadmin y luego la copio.
La segunda línea de código ejecuta la select propiamente dicha y controla que no haya errores. El caso, en esta ocasión, es que, a pesar de que la select hace lo que debe, devuelve el error de sintaxis.
Por cierto, el tema de los apóstrofes es indiferente, he probado con y sin y sigue dando el error.

GRacias por tu ayuda una vez más,
__________________
J.
¿Dónde está la tecla ‘ANY’?
(H. Simpson)
  #7 (permalink)  
Antiguo 17/03/2011, 03:36
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Error "right syntax to use near '1' at line 1"

Si esta ejecutando la consulta, estas seguro que es esa la que genera el error?

Cita:
Error in query Update USER ...
Update USER escrito así no corresponde a nada de lo que nos muestras.
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #8 (permalink)  
Antiguo 17/03/2011, 05:48
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, 5 meses
Puntos: 2658
Respuesta: Error "right syntax to use near '1' at line 1"

Cita:
Disculpa mi supina ignorancia pero no entiendo lo de la variable $UpdateUSER.
Mi duda es que al principio pones esto:
Código PHP:
$UpdateUSER mysql_query ("Update usuarios set `idPER`= '$idPER' Where `idPrimaryUSER`= '$PKUSER'"); 
donde $UpdateUSER es un result de ejecución de sentencia.
Pero luego pones esto:
Código PHP:
$resultUSER mysql_query ($UpdateUSER) or die ("Error in query Update USER. ".mysql_error()); 
donde $UpdateUSER es una cadena de texto que debería contener una consulta.
Como no muestras en qué parte pasa de ser un result a una cadena, no puedo saber qué es lo que mandas en el segundo caso. Mi sospecha de que tenga alguna relación se basa en eso.
Además, ten en cuenta que en el mensaje de error no te está mostrando realmente nada de SQL. Eso suele suceder cuando no puede interpretar ninguna parte, cosa que ocurriría si le mandases un result, por ejemplo.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #9 (permalink)  
Antiguo 17/03/2011, 07:02
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Error "right syntax to use near '1' at line 1"

Me apunto a la sospecha de gnzsoloyo. Intento explicarlo de otra forma.

Si tienes estas dos lineas

Código PHP:
Ver original
  1. $UpdateUSER = mysql_query ("Update usuarios set `idPER`= '$idPER' Where `idPrimaryUSER`= '$PKUSER'");

Código PHP:
Ver original
  1. $resultUSER = mysql_query ($UpdateUSER) or die ("Error in query Update USER. ".mysql_error());

La primera ejecuta la consulta y retorna '1' (true) ya que es un update y la segunda da el error ya que le pasas '1' (true) que es el resultado de la primera y si te fijas dice que el error se produce cerca de '1' que és lo que le estarias pasando al segundo mysql_query

Código PHP:
Ver original
  1. $UpdateUSER = "Update usuarios set `idPER`= '$idPER' Where `idPrimaryUSER`= '$PKUSER'";  
  2.  
  3. $resultUSER = mysql_query ($UpdateUSER) or die ("Error in query Update USER. ".mysql_error());

Estas dos no daran error....

Error in query Update USER. corresponde a la descripción de error que has puesto tu no me habia fijado.
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Última edición por quimfv; 17/03/2011 a las 07:17
  #10 (permalink)  
Antiguo 17/03/2011, 09:40
Avatar de Rankxerox1984  
Fecha de Ingreso: septiembre-2010
Mensajes: 253
Antigüedad: 13 años, 7 meses
Puntos: 4
Respuesta: Error "right syntax to use near '1' at line 1"

Hola quimfy/gnzsoloyo:porr a::

Muchas gracias por la ayuda, lo probaré en cuanto sea posible,
__________________
J.
¿Dónde está la tecla ‘ANY’?
(H. Simpson)

Etiquetas: line, syntax
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 14:48.