2

crondate(timestamp フィールド) と現在のタイムスタンプが一致するときに、テーブルの行を毎分更新しようとしています。両方が一致する場合、状態 = 0 に設定していますが、機能していません。cronjob を確認しましたが、毎分動作して実行されています。

誰かが私を助けることができれば感謝します。

私のコード:

function runCronJob(){  
    $timestamp = date('Y-m-d H:i:s');

    $db =& JFactory::getDBO();
    $update_query = "UPDATE #__cronjob_run SET state=0 WHERE crondate = '$timestamp'";
    $db->setQuery($update_query);
    $db->query();

}

マウントテーブル

4

1 に答える 1

1

日付を比較する必要がある理由がわからないので、その正確な秒を作成した行を更新する必要があると仮定します。

同じ時間であるため、タイムゾーンを心配する必要がなく、基本的にcron自体を実行し、基本的に同じオプションがあるため、MySqlイベントを使用する方がはるかに簡単になると思います.

PHPを実行する必要がないため、実行が高速になるというもう1つのプラス。

PHPMyAdmin を使用していることがわかりましたので、データベース -> イベント -> イベントの追加 に移動します。そこからは非常に簡単です。

それはあなたのクエリを次のようにします:

UPDATE #__cronjob_run SET state=0 WHERE crondate = now()

于 2013-08-21T12:52:59.873 に答える