[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: установка в datetime поле время добаления/обновления строки
Регент
Такая проблема.
Нужно чтобы в поле reserved типа datetime вставлялось текущее время запроса.

попробовал так:
Код
$dat=date("m-d-Y H:i:s");

$query = "INSERT INTO `items` ( `id` ,   `price`  ,  `reserved` )
    VALUES('',  '$tr_price', '$dat')";

получил в поле значение 0000-00-00 00:00:00
Тоже самое происходит если не указываю значение вовсе или ставлю NULL.

Как быть?

Тесть всё на домашнем серваке Аpache/2.2.4 (Win32) mod_ssl/2.2.4 OpenSSL/0.9.8d PHP/5.2.4



Спустя 2 минуты, 43 секунды (14.06.2008 - 18:05) vasa_c написал(а):
Сделать тип TIMESTAMP и указать DEFAULT CURRENT_TIMESTAMP

Спустя 26 минут, 56 секунд (14.06.2008 - 18:32) Регент написал(а):
Сделал и указал. в итое всёравно нули... sad.gif

Спустя 1 час, 15 минут, 32 секунды (14.06.2008 - 19:48) vasa_c написал(а):
дамп создания таблицы и код вставки

Спустя 6 часов, 27 минут, 29 секунд (15.06.2008 - 02:15) Alchemist написал(а):
Код
$dat=date("m-d-Y H:i:s");

Во-первых, стандартный формат представление даты в БД - это YYYY-MM-DD, а вовсе не DD-MM-YYYY или MM-DD-YYYY (как у вас в примере).

Во-вторых, целая серия замечательных функций SQL поможет вам получить текущую дату и время в любом удобном формате. В частности функция NOW() возвращает текущие дату и время с точностью до секунды, что вполне подходит под ваши условия.

Таким образом с помощью кода:
Код
$query = "INSERT INTO `items` ( `id` ,   `price`  ,  `reserved` ) VALUES('',  '$tr_price', NOW())";

вы должны достичь требуемого результата.

Разумеется это не сработает, если не выставлено системное время.


_____________
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.