Formato PHP date() al insertar en datetime en MySQL

Resuelto Alex asked hace 54 años • 14 respuestas

¿Cuál es el formato correcto para pasarle a la date()función en PHP si quiero insertar el resultado en una datetimecolumna tipo MySQL?

Lo he estado intentando date('Y-M-D G:i:s')pero eso simplemente inserta "0000-00-00 00:00:00" cada vez.

Alex avatar Jan 01 '70 08:01 Alex
Aceptado

El problema es que estás usando 'M'y 'D', que son representaciones textuales, MySQL espera una representación numérica del formato.2010-02-06 19:30:13

Pruebe: date('Y-m-d H:i:s')que utiliza los equivalentes numéricos.

editar: cambiado Ga H, aunque puede que no tenga impacto, probablemente quieras usar el formato de 24 horas con 0 a la izquierda.

Mark Elliot avatar Feb 07 '2010 00:02 Mark Elliot

date()De los comentarios de la página del manual de php :

<?php $mysqltime = date ('Y-m-d H:i:s', $phptime); ?>

Tenías la 'Y' correcta: es un año completo, pero 'M' es un mes de tres caracteres, mientras que 'm' es un mes de dos dígitos. El mismo problema con 'D' en lugar de 'd'. 'G' es una hora de 1 o 2 dígitos, donde 'H' siempre tiene un 0 delante cuando es necesario.

Tim Lytle avatar Feb 07 '2010 00:02 Tim Lytle