Php 自动更新数据库中的日期列

Php 自动更新数据库中的日期列,php,mysql,Php,Mysql,您好,我有一个页面,它接受基于事务是否成功的响应 因此,我正在尝试将成功交易状态的数据库记录自动更新为paid,并将开始日期更新为当前日期,将到期日期更新为一年后的日期 目前,我已经能够将交易状态更新为“已付”,但没有关于如何为日期执行此操作的线索。我想自动完成这项工作 这就是我试过的 $tnx_ref = $_SESSION['genref']; $sql = "UPDATE transactions ". "SET Transaction_Status = 'paid', St

您好,我有一个页面,它接受基于事务是否成功的响应

因此,我正在尝试将成功交易状态的数据库记录自动更新为paid,并将开始日期更新为当前日期,将到期日期更新为一年后的日期

目前,我已经能够将交易状态更新为“已付”,但没有关于如何为日期执行此操作的线索。我想自动完成这项工作

这就是我试过的

$tnx_ref = $_SESSION['genref'];
$sql = "UPDATE transactions ".
       "SET Transaction_Status = 'paid', Start_Date = 'start', Expiry_Date ='expiry'".
       "WHERE tnx_ref = $tnx_ref ";
通过此操作,交易状态更新为
已支付
,起始日期更新为
开始
,到期日期更新为
到期


任何关于我如何进行此操作的解释

您可以使用
date\u add
curdate
函数作为

UPDATE transactions 
SET 
Transaction_Status = 'paid', 
Start_Date = curdate(),
Expiry_Date =date_add(curdate(),interval 1 year)
WHERE tnx_ref = $tnx_ref
更新评论“对于到期日,如果我也想 减去一天。”


您将以相同的方式更新日期列。只需将开始日期和到期日期设置为您想要的日期即可。我得到了,但我想要开始日期的确切当前日期和到期日期的提前一年日期使用
NOW()
Date\u add(NOW(),间隔1年
ohhh非常感谢,对于到期日,如果我还想减去一天怎么办。对于减去一天,它的
date\u sub(curdate(),INTERVAL i day)
1年-1天它的
date\u sub(date\u add(curdate(),INTERVAL 1年),INTERVAL 1天)
我是rili sori,但如果您能用减号函数更新代码,我将不胜感激
   UPDATE transactions 
    SET 
    Transaction_Status = 'paid', 
    Start_Date = curdate(),
    Expiry_Date =date_sub(date_add(curdate(),interval 1 year),interval 1 day)
    WHERE tnx_ref = $tnx_ref