UNIXタイムスタンプがdbに記録された日時よりも小さく、問題が発生している場合にのみ、dbからデータを取得しようとしています。
これが私がこれまでに得たものです。
date_default_timezone_set("UTC");
$now = date("Y-m-d H:i:s", time());
$timestamp = strtotime($now);
$timestamp2 = strtotime('-3 days', $timestamp);
$sql = "SELECT g.game_id, UNIX_TIMESTAMP(g.lastdraw)+259200 AS dbtimestamp FROM ".$prefix."_games g
INNER JOIN ".$prefix."_gameplayer gp
ON g.game_id = gp.fk_game_id
WHERE dbtimestamp < $timestamp2 AND gp.fk_player_id=$currplayer AND g.finished=0";
$result = mysql_query($sql);
while($row = mysql_fetch_assoc($result)){
//if($row['dbtimestamp'] < $timestamp2){
$thisgameid = $row['game_id'];
if($thisgameid == 257748){
echo '<b>GameID: '.$thisgameid.'</b><br>';
} else {
echo 'GameID: '.$thisgameid.'<br>';
}
echo 'DBtimestamp: '.$row['dbtimestamp'].'<br><br>';
//}
}
この方法ではレコードを取得しません。しかし、SQL クエリで "dbtimestamp < $timestamp2" を削除し、"if($row['dbtimestamp'] < $timestamp2){" のアウトコメントを削除すると、すべて正常に動作しますか?
私が間違っているアイデアはありますか?
前もって感謝します :-)