我正在创建一个网站,它将保留批次,然后将截止日期保存到表格,当到期日期到达截止日期时,它将删除该行。例如
**表:预订
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);
?>
我怎样才能实现它?
答案 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包。