在MySQL中插入datetime时的PHP date()格式

date()如果要将结果插入MySQL datetime类型列中,传递给PHP函数的正确格式是什么?

我一直在尝试,date("Y-M-D G:i:s")但是每次都只插入“ 0000-00-00 00:00:00”。


守候你守候我
浏览 1592回答 3
3回答

慕容3067478

问题是您正在使用'M'和'D',它们是文本表示形式,MySQL希望使用格式的数字表示形式2010-02-06 19:30:13尝试:date("Y-m-d H:i:s")使用数字等效项。编辑:切换G到H,尽管可能没有影响,但您可能希望使用前导0的24小时格式。

呼如林

从PHP的date()手册页的评论:<?php $mysqltime = date ("Y-m-d H:i:s", $phptime); ?>您输入了正确的“ Y”,即整整一年,但是“ M”是一个三个字符的月份,而“ m”是一个两位数的月份。与“ D”而不是“ d”相同的问题。“ G”是1或2位数的小时,其中“ H”在需要时始终以0开头。

牧羊人nacy

这里有一个替代的解决方案:如果您在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&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; |+---------------------+| 2009-01-10 18:38:02 |+---------------------+
打开App,查看更多内容
随时随地看视频慕课网APP