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 回答