我想将PHP中的日期时间保存到我的数据库中,但我不能。数据库中的日期时间值始终设置为0000-00-00 00:00:00
。我究竟做错了什么?无法在数据库中保存php日期时间
我的代码:
$today = new DateTime();
$dt = $today->format('Y-m-d H:i:s');
$sql = "UPDATE wp_posts SET post_date = $dt, post_date_gmt = $dt WHERE ID = $id";
我想将PHP中的日期时间保存到我的数据库中,但我不能。数据库中的日期时间值始终设置为0000-00-00 00:00:00
。我究竟做错了什么?无法在数据库中保存php日期时间
我的代码:
$today = new DateTime();
$dt = $today->format('Y-m-d H:i:s');
$sql = "UPDATE wp_posts SET post_date = $dt, post_date_gmt = $dt WHERE ID = $id";
简单,日期时间是字符串,而不是整数。
$today = new DateTime();
$dt = $today->format('Y-m-d H:i:s');
$sql = "UPDATE wp_posts SET post_date = '$dt', post_date_gmt = $dt WHERE ID = $id";
会工作得更好:)
你可以使用,
$dt = date("Y-m-d H:i:S");
$sql = "UPDATE wp_posts SET post_date = '$dt', post_date_gmt = '$dt' WHERE ID = $id";
这不会帮助真正的问题在这里。您可以将其作为评论发布。 (尽管在这里实际使用面向对象的方法可能更受欢迎) –
这并没有解决原始问题。报价在这种情况下并没有什么不同。 –
而不是使用日期时间从PHP,你现在应该使用mysql inbuit()函数,没有必要写额外的代码行在PHP中。
$sql = "UPDATE wp_posts SET post_date = now(), post_date_gmt = now() WHERE ID = $id";
n您可以阿洛斯设置NOW()在你的表字段所以你不需要设置的查询,当记录将插入,更新它会自动设置为当前日期时间。
CREATE TABLE tablename
(
fiedlId int NOT NULL,
fieldName varchar(50) NOT NULL,
fieldDate datetime NOT NULL DEFAULT NOW(),
PRIMARY KEY (fiedlId)
)
干杯!
你为什么不使用mysql 的时间戳功能,用于新表
$sql = CREATE TABLE newtb (current_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP);
or
$sql = CREATE TABLE newtb (current_time DATETIME DEFAULT NOW());
修改表
$sql = CREATE TABLE newtb MODIFY current_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP;
or
$sql = CREATE TABLE newtb MODIFY current_time DATETIME DEFAULT NOE();
Y/M/d H:我:没什么? –
@DonovanCharpin Nope – Loko
请使用搜索。 [任何这些](http://stackoverflow.com/search?q=%5Bphp%5D+%5Bmysql%5D+0000-00-00+00%3A00%3A00)会有帮助 –