• ¿Quieres apoyar a nuestro foro haciendo una donación?, entra aquí.

Error con una consulta SQL (SOLUCIONADO)

Vuvuzelo

Hij@'e Puta
Registrado
2010/06/21
Mensajes
5.725
Sexo
Macho
Hola, estoy migrando algunas cosas hechas en PHP dese un servidor Linux a uno con Windows y al parecer no
son totalmente compatibles las sintaxis de ambas versiones. La cosa es que me falla esta ultima linea:

La versión de MySql es la 5.6


PHP:
date_default_timezone_set('America/Santiago');

$opc_cerrar = $_POST['opt_ID'];
$termino = date('d m Y h:i A');

if(! $link )
{
  die('No se pudo conectar: ' . mysql_error());
}

$sql = 'UPDATE estado=Cerrado, termino="'.$termino.'" WHERE ID_soporte ="'.$opc_cerrar.'"';

el mensaje que arroja es:

Could not update data: 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 '"23 09 2014 10:26 AM" WHERE ID_soporte ="178"' at line 1

el PHP Server es PHP: 5.5.15 el servidor es Xampp 1.8.3

Ayuda!! :)
 
Última edición:
No le falta una comilla a Cerrado? Prueba haciendo el string con doble comilla en lugar de una simple.
 
No le falta una comilla a Cerrado? Prueba haciendo el string con doble comilla en lugar de una simple.

lo tenía así como dices tu, pero al agregar las comillas el error crece;

Código:
$sql = 'UPDATE estado="Cerrado", termino="'.$termino.'" WHERE ID_soporte ="'.$opc_cerrar.'"';

Could not update data: 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 '"Cerrado", termino="23 09 2014 10:45 AM" WHERE ID_soporte ="178"' at line 1
 
Sólo para descartar, podrías ingresarlo como variable a la string: $estado="Cerrado";
 
está mal la consulta


Tu consulta:

UPDATE estado=Cerrado, termino="xxxxxx" WHERE ID_soporte ="'yyyyyy"

Falta el nombre de la tabla (qué tabla quieres actualizar??)
Falta la palabra clave "set".
La palabra "cerrado" es un nombre de columna? si no es así, falta cerrarlo entre comilla

Ejemplo:

UPDATE NombreTabla set estado='Cerrado', termino='xxxxxx' WHERE ID_soporte ='yyyyyy'

PHP:
$sql = 'UPDATE NombreTabla set estado="Cerrado", termino="'.$termino.'" WHERE ID_soporte ="'.$opc_cerrar.'"';



Si no te funciona con comilla doble, prueba con comilla simple.
 
está mal la consulta


Tu consulta:

UPDATE estado=Cerrado, termino="xxxxxx" WHERE ID_soporte ="'yyyyyy"

Falta el nombre de la tabla (qué tabla quieres actualizar??)
Falta la palabra clave "set".
La palabra "cerrado" es un nombre de columna? si no es así, falta cerrarlo entre comilla

Ejemplo:

UPDATE NombreTabla set estado='Cerrado', termino='xxxxxx' WHERE ID_soporte ='yyyyyy'

PHP:
$sql = 'UPDATE NombreTabla set estado="Cerrado", termino="'.$termino.'" WHERE ID_soporte ="'.$opc_cerrar.'"';



Si no te funciona con comilla doble, prueba con comilla simple.

Ohhh!! ahí si :D no se como cresta funciona en el otro servidor, revisé el codigo en el server con Linux y funciona asi, sin el SET o_O

pero me funcionó bien así como dijiste!!

Muchas gracias!!![DOUBLEPOST=1411483001,1411482959][/DOUBLEPOST]Gracias tambien @MidnightDream
 
Ohhh!! ahí si :D no se como cresta funciona en el otro servidor, revisé el codigo en el server con Linux y funciona asi, sin el SET o_O

pero me funcionó bien así como dijiste!!

Muchas gracias!!![DOUBLEPOST=1411483001,1411482959][/DOUBLEPOST]Gracias tambien @MidnightDream

Raro que funcione de esa forma ya que el error es a nivel de sintaxis SQL, el código no tiene como saber a que tabla afecta la sentencia...

De todas formas, que bueno que resolviste tu drama.
 
Raro que funcione de esa forma ya que el error es a nivel de sintaxis SQL, el código no tiene como saber a que tabla afecta la sentencia...

De todas formas, que bueno que resolviste tu drama.

Si, es extraño... aún no doy de baja el otro server, entré a comprobar y el código no tiene el SET, pero funciona :/ ¿será la versión de MySQL?
 
Volver
Arriba