dbクエリのタイムスタンプについて学ぶための基本的なクエリを試しています。私はタイムスタンプであるフィールド 'time'を持つdbを持っています。私は "時間"がキー付きの値($ t1)より大きいレコードを返すための基本的なクエリを持っています。 mytime()が正しくフォーマットされていることを確認しました(説明のためコメントアウトしています)。私は今日の日付に設定された単一のレコードを持っています。私はそれが$ t1の価値を変えるので、それが戻るかどうかを期待しています...しかしそれはありません。どこが間違っていますか?MySQLクエリの基本的なmktime()に関する問題
date_default_timezone_set('Europe/London');
$year = '2011';
$month = '10';
$day = '11';
$t1 = mktime(0,0,0, $month, $day, $year);
//echo date("d/m/y : H:i:s", $t1); // this works fine!
mysql_select_db(DATABASE_NAME, $connection);
$client = "demo/";
$result = mysql_query
(
"SELECT *
FROM " .SESSIONDB. "
WHERE client = '$client'
AND page = 'interaction.php'
AND time > '$t1'
"
);
時刻を保存するには、INTの代わりにMySQLのDATETIMEを使用する必要があります。 – Mike
しかし、私は将来タイムゾーンを処理する能力が必要なので、タイムスタンプの権利が必要ですか? – giles
あなたは正しいです。しかし、MySQLもTIMESTAMP形式を持っています(http://dev.mysql.com/doc/refman/5.0/en/timestamp.html) – Mike