Loading...
PHP/MySQL | Последнее обновление страницы
Код:

$lastupdate = $pdo->prepare('UPDATE users SET lu = ' . time() . ' WHERE id = ?');
$lu = $lastupdate->execute([$user['id']]);

Колонка lu:
Тип: timestamp
Null: not null
По умолчанию: default '0000-00-00 00:00:00'
Extra: on update CURRENT_TIMESTAMP

Ошибок никаких не отображает, просто время стоит по нулям и не меняется помогите:

Изображение

------
48408_IMG_20170807_022400_356.png (65.7 Kb)
Скачиваний: 78
Потому что time() отдает время не такое, какое требует поле времени в SQL. Используй обычный int на 11 символов.

Если хочешь время в формате 2017-08-07 00:00:00, то запрашивай так date("Y-m-d H:i:s")
________
посл. ред. 07.08.2017 в 02:39; всего 1 раз(а); by TJerry
В до гонку, когда создаешь массив, пиши через array(); а не в квадратных скобках, в них пустой массив создают, можешь столкнутся с проблемами на некоторых хостингах, с чем это связано, без понятия, но запрос бывает не работает.
Пример:
$lastupdate = $pdo->prepare('UPDATE `users` SET `lu` = ? WHERE `id` = ?');
$lu = $lastupdate->execute(array(time(),$user['id']));
Если я запишу time() в int, как мне можно потом перевести unix в читабельный вид?
TuT (07.08.2017 в 03:00)
В до гонку, когда создаешь массив, пиши через array(); а не в квадратных скобках, в них пустой массив создают, можешь столкнутся с проблемами на некоторых хостингах, с чем это связано, без понятия, но запрос бывает не работает.
Пример:
$lastupdate = $pdo->prepare('UPDATE `users` SET `lu` = ? WHERE `id` = ?');
$lu = $lastupdate->execute(array(time(),$user['id']));


Это связано с тем, что сокращённая запись массива в квадратные скобки доступна только в PHP версии 5.4 и выше.
Тип данных - TIMESTAMP.
По умолчанию - CURRENT_TIMESTAMP.
Gazro (07.08.2017 в 03:22)
Если я запишу time() в int, как мне можно потом перевести unix в читабельный вид?

date("[format]", $timestamp)
Онлайн: 5
Время:
Gen. 0.1171
(c) Bym.Guru 2010-2025