För att infoga i mySQL datetime-fält måste strängen vara i ett visst format för att mySQL ska förstå den. Problemet är att php har sina egna tankar och idéer om hur datum representeras. När du har att göra med datum mellan de två måste du översätta.
Om du i php har att göra med ett tidsobjekt kan du göra detta för att få en sträng som mySQL kommer att gilla:
$mysqlDateString = date('Y-m-d H:i:s', $phpdate);
eller om du har att göra med ett strängdatum kan du göra detta:
$mysqlDateString = date('Y-m-d H:i:s', $strtotime("08/09/2009"));
Om du får en datetime-sträng från mySQL kan du göra detta för att hantera det i PHP:
$phpTime = strtotime($mysqlDateString);
Jag stötte precis på det här problemet själv, så förhoppningsvis kommer det att fungera för dig också.