列later
为datetime
,某些字段的值为2017-05-01 04:07:00
我想更改当前日期和时间大于later
值的行中的某些字段。
目的是发布一个设置为稍后发布的帖子。
$current = date('Y-m-d H:i:s');
$sql = "update posts set status = :astatus, user = :auser, pass = :apass where later < :alater";
$stmt = $db->prepare($sql);
$stmt->execute(array(
":astatus" => 'public',
":auser" => '',
":apass" => '',
":alater" => $current
));
没有任何改变。
答案 0 :(得分:1)
不使用时间,而是使用数据库时间:
$sql = "update posts set status = :astatus, user = :auser, pass = :apass where later < now()";
$stmt = $db->prepare($sql);
$stmt->execute(array(
":astatus" => 'public',
":auser" => '',
":apass" => ''
));
答案 1 :(得分:0)
假设我必须在发布时间一小时后显示帖子我只是使用cron job
假设我有帖子 sr从位置到位置创建日期 1 Pune Nagpur 2017-07-29 05:00:00
我必须在2017-07-29 06:00显示这篇文章:
我只需要在5分钟的间隔内运行cron作业 检查创建时间是否为当前时间,如果是,则显示和维护总和标志。