0

cron ジョブを使用してトランザクション テーブルから合計を取得し、別のテーブルを更新しています。cron ジョブの電子メールで、タスクが完了したことを返していますが、データに変更はありません。

    <?php

try {
    $dbh = new PDO("mysql:host=localhost;dbname=the", 'the', '1');
        $query = "UPDATE Test a 
                INNER JOIN
                (
                    SELECT ID, SUM(Total) as Total, 
                    FROM TestTrans
                    WHERE Status = ? 
                    Group By ID
                ) b
                ON a.ID = b.ID
        SET a.Total = b.Total
    Where a.Total > b.Total";

    $iStatus = 1;
    $stmt = $dbh->prepare($query);
    $stmt->bindParam(1, $iStatus);

    $stmt->execute();    

    echo 'Task Completed';
    }
    catch(PDOException $e)
    {
    echo $e->getMessage();
    }


    ?>
4

1 に答える 1

1

いくつかの提案:

  • cron と同じ方法で、コマンド プロンプトからスクリプトを手動で実行します。例えばphp myscript.php myoptions。それは機能しますか?
  • cron ジョブにログを追加します。

*/5 * * * * php myscript.php myoptions >> /var/log/cronrun.log 2&>1

/var/log/cronrun.log ファイルでエラーと手がかりを探します。

于 2012-09-11T13:47:29.790 に答える