Foros del Web » Programando para Internet » PHP »

Insertar fecha en BD

Estas en el tema de Insertar fecha en BD en el foro de PHP en Foros del Web. Hola, llevo horas intentando una chorrada q no se como se hace: Yo tengo en mi BD una celda "datetime" para fechas. Por formulario pido ...
  #1 (permalink)  
Antiguo 11/08/2008, 04:00
 
Fecha de Ingreso: julio-2008
Mensajes: 16
Antigüedad: 15 años, 9 meses
Puntos: 0
Insertar fecha en BD

Hola, llevo horas intentando una chorrada q no se como se hace:

Yo tengo en mi BD una celda "datetime" para fechas. Por formulario pido una fecha y quiero insertarla ahi. Las variables me vienen asi:

$dia, $mes, $ano, $hora, $minutos (los segundos es siempre 00)

luego hago:

$fecha = $ano."-".$mes."-".$dia." ".$hora.":".$minutos.":00";

$sql = "INSERT INTO nuke_conciertos (id, artista, provincia, lugar, fecha) values ('NULL', '$artista', '$provincia', '$lugar', '$fecha')";

pero luego voy a la BD y me inserta: 0000-00-00 00:00:00

supongo que se utilizara alguna funcion pero como se haria?? gracias
  #2 (permalink)  
Antiguo 11/08/2008, 05:39
Avatar de Kamae  
Fecha de Ingreso: abril-2008
Ubicación: Barcelona (Catalunya)
Mensajes: 307
Antigüedad: 16 años
Puntos: 13
Respuesta: Insertar fecha en BD

Buenas

Pues debería de funcionar... Acabo de hacer una prueba y he creado un campo tipo datetime en MySQL, y he hecho un insert así "2008-10-07 12:34:00" y me lo ha cogido.

Te sugiero que hagas un echo $sql; y veas realmente lo que se escribe al hacer la consulta, ya que a veces hay fallos que se nos escapan e igual hay algún caracter erróneo.

Si al hacerlo crees que la consulta es correcta, cópiala y pégala en el Query Browser de MySQL, y comprueba si te da algún error y luego inserta el 0000-00-00 00:00:00.

Saludos
  #3 (permalink)  
Antiguo 11/08/2008, 05:52
Avatar de Mort20  
Fecha de Ingreso: junio-2008
Ubicación: Roca Casterly
Mensajes: 141
Antigüedad: 15 años, 11 meses
Puntos: 2
Respuesta: Insertar fecha en BD

¿Te has asegurado que el campo año tiene los 4 dígitos y no abreviaciones?
Y en cualquier caso para comprobar que la fecha sea válida puedes usar checkdate(); Para traducciones al formato deseado sin que haya problemas por formato también te aconsejo usar mktime(); y date();
__________________
Un Lannister siempre cumple sus promesas
  #4 (permalink)  
Antiguo 11/08/2008, 15:21
 
Fecha de Ingreso: julio-2008
Mensajes: 16
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Insertar fecha en BD

el año tiene los 4 digitos. Me podrias explicar como se aria esa "comprobacion", para que se utilizan esas funciones y como? te lo agradeceria aber si conseguimos solucionar este problema
  #5 (permalink)  
Antiguo 11/08/2008, 15:33
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Insertar fecha en BD

Hola ivan_sth,

La comprobación que te indica Mort20, es lo que dice Kamae, haz un echo $sql para que veas la consulta que se esta enviando.

Saludos.
  #6 (permalink)  
Antiguo 12/08/2008, 02:49
 
Fecha de Ingreso: julio-2008
Mensajes: 16
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Insertar fecha en BD

en las tablas de BD, en la de la fecha tenia puesto que es datetime, "Si null", y por predeterminado "0000-00-00 00:00:00". e cambiado a "no null" y quite lo de predeterminado. y a funcionado. la verda es q no entendi mu bien q es lo q abia echo para ello pero funca. gracias por las pistas q me habeis dado. thanks
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:25.