Store php datetime in mysql database-ThrowExceptions

Exception or error:

I can’t believe I can’t do this, but I want to be able to store the current date and time from php in to a mysql table.

The column in the table is type datetime.
I’ve tried this

$current_date = date("Y-m-d");
$my_date = strtotime($current_date);
INSERT INTO my_table (date_time) VALUES ('$my_date')

but my timestamp comes up as 0000-00-00 00:00:00

This must be so easy to do but I just can’t get it working!
I want to use the timestamp from php rather than using the mysql now() function

How to solve:

Don’t save it as the Unix Timestamp (which strtotime() outputs), but as “2012-12-02 13:00” into the DATETIME column.


Try this:

$my_date = date("Y-m-d H:i:s");
INSERT INTO my_table (date_time) VALUES ('$my_date');

In the date-format parameter of the date function, use :
‘H’ for 24hr format
‘h’ for 12hr format


set the ‘type’ of column named ‘date_time’ as ‘DATETIME’ and run the following query:



Create column type TIMESTAMP and set it to NOT NULL. Then pass in NULL during INSERT and MySQL will insert current date and time. This works for me.


If you have the date in PHP as a timestamp, you can use the FROM_UNIXTIME function [1]

mysql> insert into table_name values (FROM_UNIXTIME(your_timestamp_here));

Hope it helped



Remove the strtotime()

$current_date = date("Y-m-d");
INSERT INTO my_table (date_time) VALUES ('$current_date')

If you want to include the hour, minutes and seconds,
$current_date = date(“Y-m-d H:i:s”);

Leave a Reply

Your email address will not be published. Required fields are marked *