2017-02-19 63 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包。