タイムスタンプの問題があります。私はタイムスタンプが過去か未来かをチェックしたいと思います。過去にあった場合は、クエリが実行されます。なります私は2つの以上の変数を使用し更なる設定のタイムスタンプクエリが動作しません
2012-04-04 12:06:38
:
はここまで私は含まれてい
$row = $query->fetch_object();
$timestamp = $row->time
によってフェッチされるのmysql-タイムスタンプを得ました
$added = $timestamp + 1209600; //what adds 14days (1209600 seconds) to my db-timestamp
$check = $added < time(); //what checks if the 14days have passed or not
これで、これらのすべてをvar_dumpでテストすると、それぞれが返されます。
string(19) "2012-04-04 12:06:38" at var_dump($timestamp)
int(1211612) at var_dump($added)
bool(true) at var_dump($check)
私の問題は、14daysが渡されるべき場合でも、次のクエリが常に実行されるということです。私はタイムスタンプを1月の早い日付に変更したのでそれを知っています。ここに私のクエリは次のとおりです。
if ($check === true){
$update = $db->query("UPDATE table SET xy='1' WHERE x='$x'");
}
何かが間違っているようだと私はそれが何であるか見当もつかない。
'$ query-> fetch_object()'の前のクエリを見てみましょう。 'UNIX_TIMESTAMP()'関数を使ってTIMESTAMPカラムをクエリの整数に変換していますか?そうでなければ、$ timestampは文字列です。 –