date()如果要将结果插入MySQL datetime类型列中,传递给PHP函数的正确格式是什么?我一直在尝试,date("Y-M-D G:i:s")但是每次都只插入“ 0000-00-00 00:00:00”。
3 回答
慕容3067478
TA贡献1773条经验 获得超3个赞
问题是您正在使用'M'和'D',它们是文本表示形式,MySQL希望使用格式的数字表示形式2010-02-06 19:30:13
尝试:date("Y-m-d H:i:s")使用数字等效项。
编辑:切换G到H,尽管可能没有影响,但您可能希望使用前导0的24小时格式。
呼如林
TA贡献1798条经验 获得超3个赞
从PHP的date()手册页的评论:
<?php $mysqltime = date ("Y-m-d H:i:s", $phptime); ?>
您输入了正确的“ Y”,即整整一年,但是“ M”是一个三个字符的月份,而“ m”是一个两位数的月份。与“ D”而不是“ d”相同的问题。“ G”是1或2位数的小时,其中“ H”在需要时始终以0开头。
牧羊人nacy
TA贡献1862条经验 获得超7个赞
这里有一个替代的解决方案:如果您在PHP的日期作为时间戳,旁路用PHP处理,并让使用它转换的DB照顾FROM_UNIXTIME功能。
mysql> insert into a_table values(FROM_UNIXTIME(1231634282));
Query OK, 1 row affected (0.00 sec)
mysql> select * from a_table;
+---------------------+
| a_date |
+---------------------+
| 2009-01-10 18:38:02 |
+---------------------+
添加回答
举报
0/150
提交
取消