Php 当查询似乎为ok格式时,将日期值另存为0000-00-00:00:00到时间戳字段中

Php 当查询似乎为ok格式时,将日期值另存为0000-00-00:00:00到时间戳字段中,php,mysql,sql,date,datetime,Php,Mysql,Sql,Date,Datetime,我有一个事件表,其中的字段如下: id int(11) event_id int(11) title varchar(300) url varchar(30) tags varchar(300) end_date timestamp created_at timestamp 现在我正在执行一个查询,如: INSERT INTO `events` (`event_id`, `title`, `url`, `tags`, `end_date`) VALUES

我有一个
事件
表,其中的字段如下:

id  int(11)
event_id    int(11)
title   varchar(300)
url varchar(30)
tags    varchar(300)
end_date    timestamp
created_at  timestamp   
现在我正在执行一个查询,如:

INSERT INTO `events` 
(`event_id`, `title`, `url`, `tags`, `end_date`) 
VALUES 
('448761', 'event title', 'http://calendar.google.com/', 'reserve|call|urgent','2014-07-25 08:00:00')
我正在通过以下代码生成结束日期的值:

...
$end_date = date('Y-m-d H:i:s', strtotime($_POST['end_date']));
...
但是运行查询后,数据库中存储的值是
0000-00-00 00:00:00
!!!!查询甚至没有给出错误

我可能错过了什么?我怎样才能摆脱这个


提前谢谢你的回答

只需对时间戳使用
strottime
$end\u date=strottime($\u POST['end\u date'])无需
date
函数是
$\u POST['end\u date']
有一个值,类似于
1307595105
?您的问题中的
strottime
是打字错误吗?也许你的意思是strotime?Mysql时间戳不是unix时间戳!它不支持通常的“自历元起的秒数”。因此,单靠strotime无法在这里工作。您发布的查询应该可以正常工作。还有别的事情。