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 关注
- 129 浏览
添加回答
举报