繁体   English   中英

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

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM