2017-02-19 82 views
0

我正在创建一个网站,它将保留很多,然后将过期日期保存到表中,当到期日期到达最后期限时,它将删除该行。例如当它到达过期日期时删除一行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

您可能会更好地创建一个在指定日期触发的触发器,而不是尝试使用PHP进行删除。 –

回答

0

在MySQL中,日期格式为YYYY-MM-DD HH:MI:SS。所以,你需要存储在变量日期这种格式

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

然后,你需要需要删除的行

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

执行这个查询如果你想这个过程是独立的,没有任何外部干预,恐怕你需要在服务器上创建一个进程,检查每x次并删除过期的行。

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

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