php - 更新时将 CURRENT_TIMESTAMP 添加到 MySQL 记录

标签 php mysql phpmyadmin

我正在更新 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/

相关文章:

PHP删除脚本,返回 'viewsubjects.php?classroom_id=NO VALUE'

mysql使用in子句将值传递到子查询中

php - 在 Centos 5.5 上安装 phpMyAdmin

php - phpmyadmin 没有权限

PHP 查询到 HTML 单选按钮

php - 中断 Xdebug 中的属性更改

php - 如何通过 PHP 和 Linux 使用 pdo 连接到 mssql?

php 和 sql 'INSERT INTO' 未填充 sql 数据库

mysql - 声明游标时使用变量

javascript - html 包含许多类似的选择,这些选择在更改时会使用react