Я пытаюсь выполнить базовый запрос, чтобы узнать о временных меток в db-запросах. У меня есть db с полем «время», которое является меткой времени. У меня есть базовый запрос для возврата записей, где «время» больше, чем ключевое значение ($ t1). Я проверил, что mytime() отформатирован правильно (прокомментирован для иллюстрации). У меня есть одна запись, установленная на сегодняшнюю дату. Я ожидаю, что он вернется или нет, поскольку я изменю значение $ t1 ... но это не так. где я иду не так?Проблемы с базовым mktime() в запросе MySQL
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'
"
);
Для хранения времени вы должны использовать DATETIME MySQL вместо INT. – Mike
Но я буду хотеть способность в будущем обрабатывать часовые пояса, так что мне нужна метка времени? – giles
Вы правы. Тем не менее, MySQL также имеет формат TIMESTAMP (http://dev.mysql.com/doc/refman/5.0/en/timestamp.html) – Mike