当它到达PHP Mysql的到期日期时删除一行

时间:2017-02-19 07:15:26

标签: php mysql

我正在创建一个网站,它将保留批次,然后将截止日期保存到表格,当到期日期到达截止日期时,它将删除该行。例如

**表:预订

Reserve_date:2017年2月21日下午4:00

到期日:2017年2月22日下午4:00 **

<?php
$date = date('d M Y h:i A'); //for example it's 22 Feb 2017 4:30 PM 

$sql = "DELETE FROM reservation WHERE expiration *do codes here*";
$conn->query($sql);

?>

我怎样才能实现它?

2 个答案:

答案 0 :(得分:0)

在MySQL中,日期格式为YYYY-MM-DD HH:MI:SS。因此,您需要以此格式将日期存储在变量中

$date = date('Y-m-d H:i:s');

然后您需要执行此查询以删除行

$sql = "DELETE FROM reservation WHERE expiration = '$date' ";

答案 1 :(得分:0)

如果您希望该流程独立且无需任何外部干预,我担心您需要在服务器中创建一个检查每x时间并删除过期行的流程。

如果您具有对服务器的完全访问权限,则可以使用删除代码创建脚本(在php或其他中),然后创建一个每x秒,分钟,小时执行脚本的cron行...无论时间间隔如何适合你。

如果你想使用php作为脚本,请确保你的系统具有执行php作为脚本所需的依赖关系(没有web服务器)。例如,在debian中你需要php-cli包。