更新时将 CURRENT_TIMESTAMP 添加到 MySQL 记录

发布于 2024-11-18 14:18:07 字数 265 浏览 0 评论 0原文

我正在更新 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

枕梦 2024-11-25 14:18:07

这是:

datealtered='CURRENT_TIMESTAMP'

尝试将datealtered设置为文字字符串'CURRENT_TIMESTAMP'而不是CURRENT_TIMESTAMP 函数(又名 now()< /a>)。尝试删除单引号以获取当前时间戳(而不是字符串):

datealtered=CURRENT_TIMESTAMP

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

我希望您能正确地转义 $text 和朋友,以避免 SQL 注入攻击和类似的不愉快的事情。

This:

datealtered='CURRENT_TIMESTAMP'

Is trying to set datealtered to the literal string 'CURRENT_TIMESTAMP' not the value of the CURRENT_TIMESTAMP function (AKA now()). Try dropping the single quotes to get at the current timestamp (rather than a string):

datealtered=CURRENT_TIMESTAMP

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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文