更新时将 CURRENT_TIMESTAMP 添加到 MySQL 记录
我正在更新 MySQL 记录:
mysql_query("UPDATE nodes SET text='". $text . ..... "', datealtered='CURRENT_TIMESTAMP', ..... '") or die(mysql_error());
我将 PHPMyAdmin 中的 datealtered 类型设置为 CURRENT_TIMESTAMP。所有其他字段都会更新,但日期永远不会更新。我做错了什么?
I'm updating MySQL records:
mysql_query("UPDATE nodes SET text='". $text . ..... "', datealtered='CURRENT_TIMESTAMP', ..... '") or die(mysql_error());
I set the type for datealtered in PHPMyAdmin to CURRENT_TIMESTAMP. All of the other fields get updated, but the Date never gets updated. What am I doing wrong?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这是:
尝试将
datealtered
设置为文字字符串'CURRENT_TIMESTAMP'
而不是CURRENT_TIMESTAMP
函数(又名now()
< /a>)。尝试删除单引号以获取当前时间戳(而不是字符串):MySQL 倾向于默默地忽略错误,因此它可能会尝试将
'CURRENT_TIMESTAMP'
解释为日期并默默地失败。我希望您能正确地转义
$text
和朋友,以避免 SQL 注入攻击和类似的不愉快的事情。This:
Is trying to set
datealtered
to the literal string'CURRENT_TIMESTAMP'
not the value of theCURRENT_TIMESTAMP
function (AKAnow()
). Try dropping the single quotes to get at the current timestamp (rather than a string):MySQL tends to silently ignore errors so it is probably trying to interpret
'CURRENT_TIMESTAMP'
as a date and silently failing.And I hope you're properly escaping
$text
and friends to avoid SQL injection attacks and similar unpleasantness.