[英]Adding days to a Date (retrieved from MySQL database) in PHP
我想做的是,我认为是一个简单的任务,即添加日期。
我有一个日期存储在MySQL表中,名为meta_date
的列,类型为DATE
(日期,支持的范围是1000-01-01到9999-12-31)
我从数据库中检索此日期,如下所示:
$thisId = 1;
$dateQuery = mysqli_query($connection, "SELECT * FROM `sometable` WHERE `id` = '$thisId'");
$fetchDate = mysqli_fetch_assoc($dateQuery);
$theDate = $fetchDate['meta_date'];
现在我在这个日期添加了几天。
$newDate = date("Y-m-d", strtotime($theDate . " + 7 days"));
接下来,我使用UPDATE
查询将其放回数据库中。
$editDate = mysqli_query($connection, "UPDATE `sometable` SET `meta_date` = '$newDate' WHERE `id` = '$thisId'");
但是,更新后日期总是以0000-00-00
回。
我在这里错过了与PHP处理日期的方式有关的内容吗?
编辑:我首先从数据库中检索的数据(到$theDate
)是“2016-11-30”。
你可以使用Mysql的内置函数DATE_ADD()
SYNTEXT
DATE_ADD(date,INTERVAL expr type)
其中date是有效的日期表达式,expr是您要添加的间隔数。
对于你的情况
UPDATE sometable
SET `meta_date` = DATE_ADD(`meta_date` , INTERVAL 7 DAY)
WHERE `id` = '$thisId';
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.