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

Problema al insertar fecha en formato mysql

Estas en el tema de Problema al insertar fecha en formato mysql en el foro de Mysql en Foros del Web. Hola buenas, no consigo insertar una fecha recodiga en un formulario en mi base de datos. La fecha la meto en formato mysql directamente, osea ...
  #1 (permalink)  
Antiguo 20/01/2010, 04:58
 
Fecha de Ingreso: enero-2008
Mensajes: 49
Antigüedad: 11 años, 11 meses
Puntos: 0
Problema al insertar fecha en formato mysql

Hola buenas, no consigo insertar una fecha recodiga en un formulario en mi base de datos. La fecha la meto en formato mysql directamente, osea como ejemplo esto es lo que mete el usuario: 2010-01-20.

Lugo al hacer el insert me devuelve este fallo:

Código:
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 ' Values ('4321TFG','75154953S','alfa romeo','147','100000','10000','subasta','20' at line 1
La funcion que utilizo para insertar la fecha es:

Código PHP:
function AltaVehiculo($mat,$dni,$marc,$model,$anio,$km,$precio,$fin_subasta,$conexion){
            
//Da de alta un Vehiculo en la base de datos
            
$correcto $this->ComprobarVehiculo($mat,$conexion);
            if(
$correcto == '0'){
                
$estado "subasta";
                print(
"El fin de la subasta es:".$fin_subasta."<br/>");
                
                
//$fecha_format = $this->FechaMysql($fin_subasta);
                //print("La fecha formateada es:".$fecha_format."<br/>");
                
                
$consulta "Insert into Vehiculo (matricula,DNI,marca,modelo,anio,km,precio_sal,estado,fin_subasta), Values ('".$mat."','".$dni."','".$marc."','".$model."','".$km."','".$precio."','".$estado."','".$fin_subasta."')";
                
$resultado mysql_db_query("Rest_75154953S",$consulta,$conexion) or die (mysql_error());
                
$n_dato mysql_affected_rows($conexion);
                print(
"el numero de valores afecados es:".$n_dato."<br>");
                print(
"Se ha insertado el vehiculo"."<br>");
                
$correcto '1';
                return 
$correcto;
            }
            else{
                print(
"El vehiculo ya existe"."<br>");
                
$correcto '0';
                return 
$correcto;
            }    
        } 
He revisado como meto los datos, y se corresponde con el orden de la base de datos , asi que lo único que veo como fallo es lo de la fecha

PD: el formato de fin_subasta es un DATE
  #2 (permalink)  
Antiguo 20/01/2010, 05:21
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.321
Antigüedad: 12 años
Puntos: 2653
Respuesta: Problema al insertar fecha en formato mysql

Tienes una coma después del cierre de paréntesis de los campos de la tabla. Quítala.

Saludos
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 20/01/2010, 05:22
Avatar de Vun
Vun
Colaborador
 
Fecha de Ingreso: agosto-2009
Ubicación: Benalmádena, España
Mensajes: 2.265
Antigüedad: 10 años, 4 meses
Puntos: 150
Respuesta: Problema al insertar fecha en formato mysql

Borra esto: (matricula,DNI,marca,modelo,anio,km,precio_sal,est ado,fin_subasta), de tu sentencia INSERT

Y si no te funciona esto: mysql_db_query("Rest_75154953S",$consulta,$conexio n)

Prueba con esto: mysql_query($consulta,$conexion)

Ya me dices....
  #4 (permalink)  
Antiguo 20/01/2010, 05:25
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 11 años, 8 meses
Puntos: 574
Respuesta: Problema al insertar fecha en formato mysql

Código PHP:
Ver original
  1. ...
  2. (matricula,DNI,marca,modelo,anio,km,precio_sal,estado,fin_subasta)
  3. Values ('".$mat."','".$dni."','".$marc."','".$model."','".$km."','".$precio."','".$estado."','".$fin_subasta."')";
  4. ...

Fijate bien.... te falta el año!!!

9 nombres de campo y 8 valores.... uyyy hay una coma antes de VALUES que no se si tambien te puede dar problemas, en todo caso no se pone...

Recuerda que solo tienes que poner los delimitadores ( ' ) en los campos de texto o de fecha no en los numericos.

Quim

Nota: error de esos que no lo ves hasta que lo dejas unas horas o se lo mira otro....

Última edición por quimfv; 20/01/2010 a las 05:32
  #5 (permalink)  
Antiguo 20/01/2010, 05:48
 
Fecha de Ingreso: enero-2008
Mensajes: 49
Antigüedad: 11 años, 11 meses
Puntos: 0
Respuesta: Problema al insertar fecha en formato mysql

Muchas gracias mezclando las soluciones de quimfv y Vun ya no me devuelve ningun error, pero no los inserta en la bbdd, voy a ver en que fallo.

Muchas Gracias

PD: Estoy atontado estaba mirando en una tabla que no era, si me los inserta, lo dicho muchas gracias

Última edición por pasteles; 20/01/2010 a las 05:54
  #6 (permalink)  
Antiguo 20/01/2010, 06:02
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 11 años, 8 meses
Puntos: 574
Respuesta: Problema al insertar fecha en formato mysql

Si matricula es PK clave principal podrias ahorrate la comprobación previa y con ello reducir el numero de consultas al servidor.

Si matricula es PK tu intentas el insert into si lo inserta es que no estaba y si no lo inserta es que ya estaba, siempre que hayas solucionado los otros problemas de formato que puedas haber tenido. (Como las PK no se pueden repetir, no hace falta que hagas la comprobacion previa...)

Con $n_dato = mysql_affected_rows($conexion); sabes si se ha insertado o no.

Quim

Última edición por quimfv; 20/01/2010 a las 06:05 Razón: Adapto al cambio de tabla

Etiquetas: formato, fechas
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 08:36.