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无法在这里工作。您发布的查询应该可以正常工作。还有别的事情。