使用 mySQL/PHP 在字段中使用 now() 插入当前日期/时间

2022-08-30 10:21:24

由于MySQL显然无法在像其他一些数据库一样添加新记录时自动将函数now()插入datetime字段中,因此根据注释,我显式尝试使用SQL语句插入它。(人们似乎认为带有curdate()的时间戳不是答案,因为时间戳的各种限制。网络上有许多文章建议使用SQL插入now()应该有效。

但是,当我尝试使用SQL语句插入日期时间时,该字段不会填充当前时间/日期,但它只给我默认的0000-00-等。这可能是一个语法错误,但它让我发疯,所以我正在发布它。

mysql_query("INSERT INTO users (first, last, whenadded) VALUES ('$first', '$last', now())"; 

它首先插入和最后一个,但在添加时不插入任何内容,在添加时字段中留下0000-00-00等。

字段类型为 datetime,它没有排序规则、属性、空默认值或额外属性。顺便说一句,我尝试将now()放在单引号中...它引发了一个错误。


答案 1

NOW() 通常在 SQL 语句中工作,并返回日期和时间。检查数据库字段是否具有正确的类型(日期时间)。否则,您可以随时使用 PHP date() 函数并插入:

date('Y-m-d H:i:s')

但我不会推荐这个。


答案 2

您忘记关闭mysql_query命令:

mysql_query("INSERT INTO users (first, last, whenadded) VALUES ('$first', '$last', now())");

请注意最后一个括号。


推荐