Data no MySQL retorna 1969-12-31

  • Autor Autor Isabel
  • Data de início Data de início
Tradução em andamento: em alguns minutos este tópico estará em português. Por enquanto, o conteúdo está no original em espanhol. Ver original
Isabel

Isabel

1
Zeta
Verificado
Verificación en dos pasos activada
Suscripción a IA
Hola,
Hace más de tres horas que estoy dando vueltas con un script que funcionaba muy bien en mi servidor anterior.
Cuando obtengo la fecha guardada en un campo de la base de datos obtengo: 0000-00-00 00:00:00 con mi script original
PHP:
       $sqlConsulta = "select * from post order by fecha";

        $sqlRes = mysql_query($sqlConsulta, $enlace);

         while ($row = mysql_fetch_assoc($sqlRes)) {

            $id = $row['id'];
            $fecha =$row['fecha'];

            $fechaActual = date('Y-m-d H:i:s');


            if ($fechaActual > $fecha) {
                echo 'Posteo ' . $fecha . ' Mensaje ' . $mensaje . ' Url ' . $url . '<br>';

            } else {
			echo 'No hay nada para postear';
			echo '<br>'.$fechaActual;
                break;
            }

Y obtengo 1939-12-31 19:00:00 con estas modificaciones

PHP:
      $sqlConsulta = "select * from post order by date_format(fecha,'%Y-%m-%d %T')";

        $sqlRes = mysql_query($sqlConsulta, $enlace);

         while ($row = mysql_fetch_assoc($sqlRes)) {

            $id = $row['id'];
            $fecha = date("Y-m-d H:i:s",$row['fecha']);

            $fechaActual = date('Y-m-d H:i:s');


            if ($fechaActual > $fecha) {
                echo 'Posteo ' . $fecha . ' Mensaje ' . $mensaje . ' Url ' . $url . '<br>';

            } else {
			echo 'No hay nada para postear';
			echo '<br>'.$fechaActual;
                break;
            }
        }

La fecha aparece bien en la base de datos. Es un campo Datetime.

Ya no sé qué más probar. :s
 
Foi útil? Participe da conversa

Com sua conta grátis você pode responder, mandar mensagem privada ao autor e comprar com Saldo retido: o pagamento é liberado quando você recebe o combinado.

Leva 30 segundos · você volta a este tópico ao terminar
¿Que problema tienes? Las fechas de la base de datos se devuelven y se almacena en formato anglosajón.
 
El segundo parámetro de date debe de ser Timestamp.
 
nota importante, todas las fechas que se almacenan en una base de datos se estructuran aaaa-mm-dd, la soluciones
son: 1.- Tomar la fecha y convertirla 2.- aprovechar los formatos de la función date()
 
Voltar
Topo