2014-12-10 3 views
0

Я хочу создать временную метку, с помощью которой я могу знать, какая публикация изменена, когда и все. в mysql databse я создал coloumn, называемый lastmodified, с типом как timestamp. теперь, когда я обновляю данные в db, я хочу обновить текущую временную метку в последних модификациях. как это сделать? также кто-нибудь может сказать мне, если какая-либо функция выйдет для сравнения этих временных меток.текущая генерация временной метки в php и обновление в mysql

$now = time(); 

$query = "update storydb set lastmodified = '$now' where story_id = '$story_id'"; 
mysqli_query($con, $query); 
+0

Пожалуйста, не повторно двигатель колеса. Используйте mysql now() вместо вашего var для datetime;) set lastmodified = now() –

+0

просто измените атрибут вашего столбца на 'on update CURRENT_TIMESTAMP' и каждый раз что-то обновляет эту строку .. временная метка будет автоматически изменена – roullie

ответ

2

time() возвращает UNIX Timetamp в целочисленном формате, например, 1223485636.

Вы хотите в 2014-12-10 02:02:36

Использование MySQL now() функции вместо $now

$query = "update storydb set lastmodified = now() where story_id = '$story_id'"; 

now() является функцией MySQL, которая возвращает текущую Time Stamp (включая дату).

1

Нет, его не Отметка времени Unix, который должен быть использован там, просто нормальный NOW() должно хватить:

$query = "UPDATE storydb SET lastmodified = NOW() WHERE story_id = ?"; 
$update = $con->prepare($query); 
$update->bind_param('s', $story_id); 
$update->execute(); 
0

Чтобы вставить текущую метку времени UNIX в базе данных

$time = time(); 
$qry = 'update db_name' set column_name = $time where condition; 
mysql_query($qry); 
Смежные вопросы