Formato PHP date() al insertar en datetime en MySQL
¿Cuál es el formato correcto para pasarle a la date()
función en PHP si quiero insertar el resultado en una datetime
columna 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.
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 G
a H
, aunque puede que no tenga impacto, probablemente quieras usar el formato de 24 horas con 0 a la izquierda.
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.