2017-07-29 80 views
0

laterdatetime而某些字段的值爲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 
)); 

沒有什麼改變。

+1

我沒有看到如何運行SQL的問題。這使我認爲問題出在你的數據或模式上。我建議您在http://sqlfiddle.com/上創建一個測試用例來演示問題。 – user2045006

回答

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" => '' 
)); 
0

假設我有後,從發佈時間,我簡單地使用cron作業

一個小時,以示後假如我有張貼 SR隨位置創建日期 1浦那格浦爾2017年7月29日05:00:00

我在2017年7月29日06:00,以顯示這個帖子:

只是我在5分鐘的時間間隔內運行cron作業 檢查創建的時間是否爲當前時間,如果是則顯示並保持總和標誌。

+0

嗯......那麼爲什麼我的代碼不起作用? – bonaca