What is the correct format to pass to the
date() function in PHP if I want to insert the result into a MySQL
datetime type column?
I've been trying
date("Y-M-D G:i:s") but that just inserts "0000-00-00 00:00:00" everytime.
The problem is that you're using
'D', which are a textual representations, MySQL is expecting a numeric representation of the format
date("Y-m-d H:i:s") which uses the numeric equivalents.
H, though it may not have impact, you probably want to use 24-hour format with leading 0s.
From the comments of php's
date() manual page:
<?php $mysqltime = date ("Y-m-d H:i:s", $phptime); ?>
You had the 'Y' correct - that's a full year, but 'M' is a three character month, while 'm' is a two digit month. Same issue with 'D' instead of 'd'. 'G' is a 1 or 2 digit hour, where 'H' always has a leading 0 when needed.