我正在更新 MySQL 记录:
mysql_query("UPDATE nodes SET text='". $text . ..... "', datealtered='CURRENT_TIMESTAMP', ..... '") or die(mysql_error());
我在 PHPMyAdmin 中将 datealtered 的类型设置为 CURRENT_TIMESTAMP。所有其他字段都会更新,但日期永远不会更新。我做错了什么?
最佳答案
这个:
datealtered='CURRENT_TIMESTAMP'
正在尝试将 datealtered
设置为文字字符串 'CURRENT_TIMESTAMP'
而不是 CURRENT_TIMESTAMP
的值功能(又称 now()
)。尝试去掉单引号以获取当前时间戳(而不是字符串):
datealtered=CURRENT_TIMESTAMP
MySQL 倾向于默默地忽略错误,因此它可能试图将 'CURRENT_TIMESTAMP'
解释为日期并默默地失败。
我希望您正确转义 $text
和 friend 以避免 SQL 注入(inject)攻击和类似的不愉快。
关于php - 更新时将 CURRENT_TIMESTAMP 添加到 MySQL 记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6577413/