Добавить CURRENT_TIMESTAMP к записи MySQL при обновлении - PullRequest
1 голос
/ 05 июля 2011

Я обновляю записи MySQL:

mysql_query("UPDATE nodes SET text='". $text . ..... "', datealtered='CURRENT_TIMESTAMP', ..... '") or die(mysql_error());    

Я установил тип для datealtered в PHPMyAdmin как CURRENT_TIMESTAMP. Все остальные поля обновляются, но Дата никогда не обновляется. Что я делаю не так?

1 Ответ

6 голосов
/ 05 июля 2011

Это:

datealtered='CURRENT_TIMESTAMP'

Пытается установить datealtered в буквальную строку 'CURRENT_TIMESTAMP', а не в значение функции CURRENT_TIMESTAMP (AKA now()). Попробуйте отбросить одинарные кавычки, чтобы получить текущую временную метку (а не строку):

datealtered=CURRENT_TIMESTAMP

MySQL имеет тенденцию молча игнорировать ошибки, поэтому он, вероятно, пытается интерпретировать 'CURRENT_TIMESTAMP' как дату и молча терпит неудачу.

И я надеюсь, что вы должным образом избегаете $text и друзей, чтобы избежать атак с использованием SQL-инъекций и подобных неприятностей.

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