在更新时将CURRENT_TIMESTAMP添加到MySQL记录

时间:2011-07-05 02:02:10

标签: php mysql phpmyadmin

我正在更新MySQL记录:

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

我将PHPMyAdmin中datealtered的类型设置为CURRENT_TIMESTAMP。所有其他字段都会更新,但日期永远不会更新。我做错了什么?

1 个答案:

答案 0 :(得分:6)

此:

datealtered='CURRENT_TIMESTAMP'

尝试将datealtered设置为文字字符串'CURRENT_TIMESTAMP',而不是CURRENT_TIMESTAMP函数的值(AKA now())。尝试删除单引号以获取当前时间戳(而不是字符串):

datealtered=CURRENT_TIMESTAMP

MySQL倾向于默默地忽略错误,因此可能会尝试将'CURRENT_TIMESTAMP'解释为日期并默默地失败。

我希望你能够正确地逃避$text和朋友,以避免SQL注入攻击和类似的不愉快。