これは私のcronjob.phpファイルで、mysqlデータベースにはrow['cronjob']
があり、その値はtest1.php
です。これは私のPHPファイルの名前です。 cronジョブが実行されている間、datetime行が現在の時間と同じかそれよりも短い場合に実行する必要があります。 私はwhile-loop
を実行してcronjob row
からファイルの名前を取得して、コーンジョブが実行されている現在の時刻と等しいかそれよりも時間が短い場合に実行すると考えました。以下を参照してください:ループがコードに含ま加えることで!エラーなしで実行されることを、最初の行だけがあることを行っている前1つのcronジョブとループを使って複数のPHPファイルを実行する方法
while($row = mysqli_fetch_array($result)){
$detime = strtotime($row['date']);
$id = $row['id'];
$phpfile = $row['cronjob'];
if($detime <= time()){
include $phpfile;
$sql2 = "UPDATE my-table SET cronstatus = 1 WHERE id = $id ";
$result2 = mysqli_query($conn, $sql2);
}
}
は、しかし、私は(とすぐinclude $phpfile;
が含まれるようにエラーWarning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean
を持っています実行中(エラーがある間!)、while-loopはその仕事をしません。現在のものとdatetimeを比較して、x-minuteごとに実行されるcronジョブを使用して、すべてのPHPファイルを実行する最良の方法は何ですか?時間? 正しいコードを書き留めていただければ幸いです。