Foros del Web » Programando para Internet » PHP »

Problema de sintaxis con consulta.

Estas en el tema de Problema de sintaxis con consulta. en el foro de PHP en Foros del Web. Hola. Estoy haciendo una consulta a la BD con PHP, pero me marca un error de sintaxis, por más que busco no encuentro el error, ...
  #1 (permalink)  
Antiguo 31/07/2009, 12:38
 
Fecha de Ingreso: junio-2009
Mensajes: 250
Antigüedad: 14 años, 10 meses
Puntos: 1
Problema de sintaxis con consulta.

Hola.

Estoy haciendo una consulta a la BD con PHP, pero me marca un error de sintaxis, por más que busco no encuentro el error, me ayudarían bastante si me marcaran donde se encuentra el error, aquí les dejo la consulta:

Código PHP:
  $query_Recordset "UPDATE reg_obra SET `rtobra` = '".$rtobra."', SET `rtserv` = '".$rtserv."', SET `capitalizable` = 'NO', SET `proy` = '".$proy."', SET `contrato` = '".$contrato."', SET `robra` = '".$robra."', SET `rprograma` = '".$programa."', SET `r_cbeneficio` = '".$cbeneficio."', SET `r_cejecutor` = '".$cejecutor."', SET `r_cgestor` = '".$cgestor."', SET `rfondo` = '".$fondo."', SET `rconceptual` = '".$conceptual."', SET `rsector` = '".$sector."', SET `tipo_objeto` = '".$tipo_objeto."', SET `campo` = '".$campo."', SET `clave_activo` = '".$cactivo."', SET `us` = '".$us."', SET `num_pozo` = '".$num_pozo."', SET `nom_pozo` = '".$nom_pozo."', SET `descrip_pozo` = '".$descrip_pozo."', SET `justificacion` = '".$justificacion."', SET `solicita` = '".$solicita."' WHERE llave = '".$llave."' "
Y el error:

Código PHP:
You have an error in your SQL syntaxcheck the manual that corresponds to your MySQL server version for the right syntax to use near 'SET `rtserv` = '74', SET `capitalizable` = 'NO', SET `proy` = '', SET `contrato`' at line 1 
¿Alguna idea de qué lo cause?

Agradezco su ayuda de antemano.

Saludos.
  #2 (permalink)  
Antiguo 31/07/2009, 12:44
Avatar de jhonnyfernando  
Fecha de Ingreso: abril-2006
Ubicación: Bogotá - Colombia
Mensajes: 103
Antigüedad: 18 años
Puntos: 1
De acuerdo Respuesta: Problema de sintaxis con consulta.

el problema esta en la comilla `, quita todas las comillas ` y tambien puede dejar un solo SET


quedando:

Código PHP:
  $query_Record"UPDATE reg_obra SET rtobra = '".$rtobra."', rtserv = '".$rtserv."', capitalizable = 'NO', proy = '".$proy."', contrato = '".$contrato."', robra = '".$robra."', rprograma = '".$programa."', r_cbeneficio = '".$cbeneficio."', r_cejecutor = '".$cejecutor."', r_cgestor = '".$cgestor."', rfondo = '".$fondo."', rconceptual = '".$conceptual."', rsector = '".$sector."', tipo_objeto = '".$tipo_objeto."', campo = '".$campo."', clave_activo = '".$cactivo."', us = '".$us."', num_pozo = '".$num_pozo."', nom_pozo = '".$nom_pozo."', descrip_pozo = '".$descrip_pozo."', justificacion = '".$justificacion."', solicita = '".$solicita."' WHERE llave = '".$llave."' "
__________________
Gracias por los puntos!

Saludes ;-)
  #3 (permalink)  
Antiguo 31/07/2009, 12:45
 
Fecha de Ingreso: julio-2009
Mensajes: 72
Antigüedad: 14 años, 8 meses
Puntos: 16
Respuesta: Problema de sintaxis con consulta.

$query_Recordset = "UPDATE reg_obra SET rtobra = '".$rtobra."', rtserv = '".$rtserv."', capitalizable = 'NO', proy = '".$proy."', contrato = '".$contrato."', robra = '".$robra."', rprograma = '".$programa."', r_cbeneficio = '".$cbeneficio."', r_cejecutor = '".$cejecutor."', r_cgestor = '".$cgestor."', rfondo = '".$fondo."', rconceptual = '".$conceptual."', rsector = '".$sector."', tipo_objeto = '".$tipo_objeto."', campo = '".$campo."', clave_activo = '".$cactivo."', us = '".$us."', num_pozo = '".$num_pozo."', nom_pozo = '".$nom_pozo."', descrip_pozo = '".$descrip_pozo."', justificacion = '".$justificacion."', solicita = '".$solicita."' WHERE llave = '".$llave."' ";
  #4 (permalink)  
Antiguo 31/07/2009, 12:45
Avatar de Synkronice  
Fecha de Ingreso: octubre-2007
Ubicación: Madrid
Mensajes: 831
Antigüedad: 16 años, 6 meses
Puntos: 48
Respuesta: Problema de sintaxis con consulta.

No hace falta que pongas SET para cada campo, con que lo pongas una vez te vale.

UPDATE persondata SET nombre='Pepe', apellido='Villuela';

CONSEJO: No uses las comillas invertidas ``, son un coñazo.

Mirate el manual de referencia también: http://dev.mysql.com/doc/refman/5.0/es/update.html
  #5 (permalink)  
Antiguo 31/07/2009, 12:45
Avatar de gjx2  
Fecha de Ingreso: agosto-2008
Ubicación: R.D
Mensajes: 1.153
Antigüedad: 15 años, 8 meses
Puntos: 139
Respuesta: Problema de sintaxis con consulta.

Cita:
Iniciado por jhonnyfernando Ver Mensaje
el problema esta en la comilla `, quita todas las comillas `


quedando:

Código PHP:
$query_Recordset "UPDATE reg_obra SET rtobra = '".$rtobra."', SET rtserv = '".$rtserv."', SET capitalizable = 'NO', SET proy = '".$proy."', SET contrato = '".$contrato."', SET robra = '".$robra."', SET rprograma = '".$programa."', SET r_cbeneficio = '".$cbeneficio."', SET r_cejecutor = '".$cejecutor."', SET r_cgestor = '".$cgestor."', SET rfondo = '".$fondo."', SET rconceptual = '".$conceptual."', SET rsector = '".$sector."', SET tipo_objeto = '".$tipo_objeto."', SET campo = '".$campo."', SET clave_activo = '".$cactivo."', SET us = '".$us."', SET num_pozo = '".$num_pozo."', SET nom_pozo = '".$nom_pozo."', SET descrip_pozo = '".$descrip_pozo."', SET justificacion = '".$justificacion."', SET solicita = '".$solicita."' WHERE llave = '".$llave."' "
Seguro que es solo ese problema miralo bien.


Una guia para hacer update podria ser esta

Código PHP:
Ver original
  1. $campo1 = "Campo1";
  2. $campo2 = "Campo2";
  3. $campo3 = 345;
  4.  
  5. $sql = "UPDATE tabla SET campo1='".$campo1."',campo2='".$campo2."',campo3=".$campo3. " where  ID=1";
  #6 (permalink)  
Antiguo 31/07/2009, 12:48
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Problema de sintaxis con consulta.

No puedes volver a declarar la cláusula SET. Solamente la primera vez.

Código PHP:
Ver original
  1. $query_Recordset = "UPDATE reg_obra SET `rtobra` = '".$rtobra."',
  2.    `rtserv` = '".$rtserv."',
  3.    `capitalizable` = 'NO',
  4.    `proy` = '".$proy."',
  5.    `contrato` = '".$contrato."',
  6.    `robra` = '".$robra."',
  7.    `rprograma` = '".$programa."',
  8.    `r_cbeneficio` = '".$cbeneficio."',
  9.    `r_cejecutor` = '".$cejecutor."',
  10.    `r_cgestor` = '".$cgestor."',
  11.    `rfondo` = '".$fondo."',
  12.    `rconceptual` = '".$conceptual."',
  13.    `rsector` = '".$sector."',
  14.    `tipo_objeto` = '".$tipo_objeto."',
  15.    `campo` = '".$campo."',
  16.    `clave_activo` = '".$cactivo."',
  17.    `us` = '".$us."',
  18.    `num_pozo` = '".$num_pozo."',
  19.    `nom_pozo` = '".$nom_pozo."',
  20.    `descrip_pozo` = '".$descrip_pozo."',
  21.    `justificacion` = '".$justificacion."',
  22.    `solicita` = '".$solicita."' WHERE llave = '".$llave."' ";

Edito:
Wow en lo que corregia el codigo 4 se me adelantaron jajaja
  #7 (permalink)  
Antiguo 31/07/2009, 12:50
Avatar de gjx2  
Fecha de Ingreso: agosto-2008
Ubicación: R.D
Mensajes: 1.153
Antigüedad: 15 años, 8 meses
Puntos: 139
Respuesta: Problema de sintaxis con consulta.

jejeje a mi se me delantaron 2 me quede :-0
  #8 (permalink)  
Antiguo 31/07/2009, 12:51
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Problema de sintaxis con consulta.

Te equivocaste se te adelantaron 3 jajajaja
  #9 (permalink)  
Antiguo 31/07/2009, 12:53
Avatar de gjx2  
Fecha de Ingreso: agosto-2008
Ubicación: R.D
Mensajes: 1.153
Antigüedad: 15 años, 8 meses
Puntos: 139
Respuesta: Problema de sintaxis con consulta.

No fijate que yo criticaba el codigo de jhonnyfernando
Pero na suerte, son todos muy profesionales.
  #10 (permalink)  
Antiguo 31/07/2009, 12:54
Avatar de jhonnyfernando  
Fecha de Ingreso: abril-2006
Ubicación: Bogotá - Colombia
Mensajes: 103
Antigüedad: 18 años
Puntos: 1
Respuesta: Problema de sintaxis con consulta.

Cita:
Iniciado por gjx2 Ver Mensaje
Seguro que es solo ese problema miralo bien.


Una guia para hacer update podria ser esta

Código PHP:
Ver original
  1. $campo1 = "Campo1";
  2. $campo2 = "Campo2";
  3. $campo3 = 345;
  4.  
  5. $sql = "UPDATE tabla SET campo1='".$campo1."',campo2='".$campo2."',campo3=".$campo3. " where  ID=1";
si no me habia dado cuenta del SET repetido pero creo que lo pude corregir a tiempo pero de todas formas gracias.
__________________
Gracias por los puntos!

Saludes ;-)
  #11 (permalink)  
Antiguo 31/07/2009, 12:55
Avatar de gjx2  
Fecha de Ingreso: agosto-2008
Ubicación: R.D
Mensajes: 1.153
Antigüedad: 15 años, 8 meses
Puntos: 139
Respuesta: Problema de sintaxis con consulta.

Cita:
Iniciado por jhonnyfernando Ver Mensaje
si no me habia dado cuenta del SET repetido pero creo que lo pude corregir a tiempo pero de todas formas gracias.

Descuida jhonnyfernando , tu eres de los mejores.
  #12 (permalink)  
Antiguo 31/07/2009, 12:56
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Problema de sintaxis con consulta.

Oh verdad, se te adelantaron 2 entonces
  #13 (permalink)  
Antiguo 31/07/2009, 12:57
 
Fecha de Ingreso: junio-2009
Mensajes: 250
Antigüedad: 14 años, 10 meses
Puntos: 1
Respuesta: Problema de sintaxis con consulta.

Muchas gracias a todos, ya quedó resuelto
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 00:34.