2016-11-30 80 views
1

我想要做的是,我认为是向日期添加日期的简单任务。在PHP中添加日期(从MySQL数据库中检索)

我具有存储在一个MySQL表的日期,在一个称为meta_date柱,用的DATE类型(A日期,支持的范围是1000年1月1日到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”。

回答

0

您可以使用MySQL的内置功能DATE_ADD()

SYNTEXT

DATE_ADD(date,INTERVAL expr type)凡日期是有效的日期表达和expr是要添加的间隔数。

对于你的情况

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