MySQL NOW () возвращает только год - PullRequest
2 голосов
/ 06 марта 2011

MySQL документирует функцию NOW () ...

Возвращает текущую дату и время в виде значения в формате «ГГГГ-ММ-ДД ЧЧ: ММ: СС» или ГГГГММДДЧЧММСС.уууууу,в зависимости от того, используется ли функция в строковом или числовом контексте.Значение выражается в текущем часовом поясе.

Вот мой запрос ...

$sql = "

    INSERT INTO `users` ( `username`, `password`, `email`, `time` )
    VALUES ('{$username}', '" . sha1( $password ) . "', '{$email}', NOW() )

";

Проблема в том, что в базе данных у меня нет полной даты и времени,но только год.Любые решения?

Ответы [ 3 ]

5 голосов
/ 06 марта 2011

Это int (10), как это было, когда я использовал метку времени UNIX.

NOW() работает только для DATETIME полей.

Вам необходимо либо преобразовать поле в DATETIME (предпочтительный метод), либо преобразовать NOW() в метку времени UNIX, используя UNIX_TIMESTAMP():

UNIX_TIMESTAMP(NOW())
4 голосов
/ 07 ноября 2012

У меня была такая же проблема, и я был в тупике, пока не прочитал этот вопрос.Я использовал функцию mysql now () для обновления времени последнего входа в систему.

MySQL now () возвращает время даты в виде строки, например YYYY-MM-DD HH:MM:SS - где-то вдоль строки я перестал ее использовать и начал использовать time() (UNIXTIME) (с ним легче работать), который возвращает строку чисел, например 1352254528.Но вы не можете сохранить строку чисел, подобную этой, в поле даты и времени, а также вы не можете хранить YYYY-MM-DD HH:MM:SS в поле int(11).Последнее приведет к сохранению только года.

В конце вы должны использовать:

int(11), если вы собираетесь использовать PHP time() функцию для хранения времени какстрока чисел или DATETIME field, если вы собираетесь использовать функцию MySQL NOW().

1 голос
/ 06 марта 2011

попробуй

strtotime(now())

И вы обязательно должны использовать timestamp или datetime в качестве типа для вашего столбца.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...