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

Problema al insertar registro

Estas en el tema de Problema al insertar registro en el foro de Mysql en Foros del Web. Estimados tengo este error al insertar un registro en una tabla MySQL: You have an error in your SQL syntax; check the manual that corresponds ...
  #1 (permalink)  
Antiguo 10/01/2011, 13:42
 
Fecha de Ingreso: enero-2011
Mensajes: 3
Antigüedad: 13 años, 3 meses
Puntos: 0
Problema al insertar registro

Estimados tengo este error al insertar un registro en una tabla MySQL:

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 '2011-01-10'','16:01:51','0.15','test de permiso','D','N','jefepp')' at line 1

Esta es la línea en PHP:

$res2 = mysql_query("Insert into e107_Permisos (rutp,fechap,timeSp,timep,textp,estadop,finalizado ,jefeP) values ('$rutpp','$fechapp','$horasalida','$tiempo','$mot ivos','D','N','$jefepp')")or die (mysql_error());

Y esta es la tabla en MySQL:

Campo Tipo Cotejamiento
rutp varchar(10) latin1_swedish_ci
fechap date
timeSp time
timep float
timeLp time
textp text latin1_swedish_ci
estadop char(1) latin1_swedish_ci
finalizado char(1) latin1_swedish_ci
jefeP varchar(30) latin1_swedish_ci

No he podido sacar el maldito error, ayuda please
  #2 (permalink)  
Antiguo 10/01/2011, 14:19
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 3 meses
Puntos: 447
Respuesta: Problema al insertar registro

Buenas tardes f0ca011, aquí hay dos detalles que veo, por un lado según tu mensaje de error el problema está con la fecha, ya que tienes esto

Código:
'2011-01-10''
Si te fijas un poco hay una doble apóstrofe (comilla simple), sin embargo en tu codigo PHP todo parece estar correcto es cuestión que revises este detalle. Por otro lado, te recuerdo que el error puede no encontrarse en la línea que te comenta el motor de BD, sino muchas líneas antes. Revisa también tu parámetro rutpp.

Creo que te conviene decirnos cómo es que queda tu instrucción insert ya con los valores de los parámetros, para ver en donde puede estar el error.

Saludos
Leo.
  #3 (permalink)  
Antiguo 12/01/2011, 07:36
 
Fecha de Ingreso: enero-2011
Mensajes: 3
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: Problema al insertar registro

Gracias he revisado el código mil veces y nada, no veo el error:
Sigo obteniendo el 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 '2011-01-12'','10:23:10','1.0','test número dos','D','N','XXXXX XXXXX')' at line 1

Estos son los datos de entrada
RUT 11111111-1
Fecha de salida 12/01/2011
Hora de Salida 10:23:10
Hora a Utilizar 1.0
Jefatura a Informar XXXXX XXXXX
Motivo Salida Test número dos

La línea que inserta es:
$res2 = mysql_query("Insert into e107_Permisos (rutp,fechap,timeSp,timep,textp,estadop,finalizado ,jefeP) values ('$rutpp','$fechapp','$horasalida','$tiempo','$mot ivos','D','N','$jefepp')")or die (mysql_error());

Gracias
  #4 (permalink)  
Antiguo 12/01/2011, 07:43
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: Problema al insertar registro

El error parece estar en las variables que llegan a la cadena.

imprime lo que está enviando php al mysql_query.

algo así:
Código PHP:
Ver original
  1. $cadena = "Insert into e107_Permisos (rutp,fechap,timeSp,timep,textp,estadop,finalizado ,jefeP) values ('$rutpp','$fechapp','$horasalida','$tiempo','$mot ivos','D','N','$jefepp')";
  2. echo $cadena;

dinos que te imprime la variable $cadena.
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #5 (permalink)  
Antiguo 12/01/2011, 07:52
 
Fecha de Ingreso: enero-2011
Mensajes: 3
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: Problema al insertar registro

Esta es la salida de $cadena:

Insert into e107_Permisos (rutp,fechap,timeSp,timep,textp,estadop,finalizado ,jefeP) values ('1111111-1',''2011-01-12'',10:23:10,1.0,'test número dos','D','N',XXXXX XXXXX)

Formado con este código:

$cadena="Insert into e107_Permisos (rutp,fechap,timeSp,timep,textp,estadop,finalizado ,jefeP) values ('$rutpp','$fechapp',$horasalida,$tiempo,'$motivos ','D','N',$jefepp)";

Gracias
  #6 (permalink)  
Antiguo 12/01/2011, 08:14
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: Problema al insertar registro

El error está donde te dijo leonardo desde un principio.

fijate que están llegando dobles comillas en la fecha.
Prueba quitandole las comillas exteriores o las interiores.

así:
Código PHP:
Ver original
  1. $res2 = mysql_query("Insert into e107_Permisos (rutp,fechap,timeSp,timep,textp,estadop,finalizado ,jefeP) values ('$rutpp',$fechapp,'$horasalida','$tiempo','$mot ivos','D','N','$jefepp')")or die (mysql_error());
__________________
Without data, You are another person with an opinion.
W. Edwads Deming

Etiquetas: registro
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 15:57.