1 回答

TA貢獻1777條經驗 獲得超10個贊
最好的辦法execute every 24 hours is cronjob
。在這里您可以了解如何設置這些:如何使用 PHP 創建 cron 作業?
你的代碼應該是這樣的。在第一個函數中,我首先存儲了結果,因為一旦返回某些內容,其余代碼將不會執行。
function find_by_job_status($status) {
global $db;
// create a prepared statement
$sql = "SELECT * FROM jobs WHERE status = ?";
$stmt = mysqli_stmt_init($db);
mysqli_stmt_prepare($stmt, $sql);
// bind parameters for placeholders
mysqli_stmt_bind_param($stmt, "s", $status);
// execute the query
mysqli_stmt_execute($stmt);
// store the result in var
$result = mysqli_stmt_get_result($stmt);
// close statement
mysqli_stmt_close($stmt);
// return result
return $result;
}
function delete_pending_jobs() {
global $db;
$jobs = find_by_job_status('pending');
while ($row = mysqli_fetch_assoc($jobs)) {
$stmt = mysqli_stmt_init($db);
// create a prepared statement
$sql = "DELETE FROM jobs WHERE id = ?";
mysqli_stmt_prepare($stmt, $sql);
// bind parameters for placeholders
mysqli_stmt_bind_param($stmt, "s", $row['id']);
// execute the query
mysqli_stmt_execute($stmt);
// close statement
mysqli_stmt_close($stmt);
}
}
我更愿意將delete_pending_jobs函數外包給由 cronjob 執行的新文件。
- 1 回答
- 0 關注
- 144 瀏覽
添加回答
舉報