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

时间:2015-03-16 12:39:50

标签: php mysql

你好,我有一个页面,根据交易是否成功接受回复。

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

目前我已经能够将交易状态更新为“已付款”#39;但没有关于如何为日期做这件事的线索。我想自动这样做。

这是我试过的

$tnx_ref = $_SESSION['genref'];
$sql = "UPDATE transactions ".
       "SET Transaction_Status = 'paid', Start_Date = 'start', Expiry_Date ='expiry'".
       "WHERE tnx_ref = $tnx_ref ";

这样,交易状态已更新为paid,更新为start并且已过期至expiry

关于如何解决这个问题的任何解释

1 个答案:

答案 0 :(得分:2)

您可以将date_addcurdate功能用作

UPDATE transactions 
SET 
Transaction_Status = 'paid', 
Start_Date = curdate(),
Expiry_Date =date_add(curdate(),interval 1 year)
WHERE tnx_ref = $tnx_ref
  

从评论中更新“对于到期日如果我也想要的话   减去一天。“

   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