在PHP中添加日期(从MySQL数据库中检索)

时间:2016-11-30 02:31:21

标签: php mysql date

我正在努力做到,我认为这是一个简单的任务,即为日期添加日期。

我有一个日期存储在一个名为meta_date的列中的MySQL表中,其类型为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”。

1 个答案:

答案 0 :(得分:0)

您可以使用内置函数DATE_ADD()

中的Mysql

<强> SYNTEXT

DATE_ADD(date,INTERVAL expr type)其中date是有效的日期表达式,expr是您要添加的间隔数。

对于你的情况

UPDATE sometable
SET `meta_date` = DATE_ADD(`meta_date` , INTERVAL 7 DAY)
WHERE `id` = '$thisId';