2

我正在用 HTML、PHP 和 MySQL 创建一个注册页面。我想在注册中添加一个隐藏字段用作加入日期。

让包含当前日期和时间的隐藏字段或将当前日期时间分配给变量并在 SQL 插入语句中使用它会更好吗?

无论如何,如果使用以下隐藏的表单字段,将日期时间存储为的日期格式是2010-07-06 07:55:12什么?

<input name="joindate" type="hidden" id="joindate"  value="<?php echo date(''); ?>">
4

6 回答 6

6

尝试

 echo date('Y-m-d g:i:s',time()); //PHP

我们更好的 MySQL 使用datetime归档并调用 `NOW()

 INSERT INTO registration (Name,Date) VALUES ('Jarlsberg Cheese',NOW()) ;

在你的 SQL 语句中

我希望这有帮助

于 2012-04-09T18:20:05.650 回答
4

不要使用隐藏字段,将变量分配给当前日期/时间(或使用 MySQL 中的 NOW() 函数)并将其用作连接日期。

原因是有人可以轻松地使用 Firebug 之类的工具来编辑隐藏的加入日期字段,并将您不希望的值放入数据库中。

于 2012-04-09T18:20:43.613 回答
2

您甚至可以在 SQL 中执行此操作:插入用户 (...,joindate) 值 (...,NOW());

这样你就不必摆弄格式..

编辑:但是如果你不喜欢这个,那么将这个值传递给客户端并返回是没有意义的。只需在创建插入查询时设置它。使用隐藏字段,您冒着有人实际更改您的值并将其设置为意想不到的风险。

于 2012-04-09T18:19:38.827 回答
2

您提到的日期格式是有效的 MySQL 日期时间。在 PHP 中,您可以像这样回显它:

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

或者,以您的示例为例:

<input name="joindate" type="hidden" id="joindate"  value="<?php echo date('Y-m-d H:i:s'); ?>">
于 2012-04-09T18:20:09.190 回答
1

根据 Eric Petroelje 的说法:

使用 Type 创建一个字段timestamp并设置为 Default value CURRENT_TIMESTAMP。然后,您甚至不必在插入语句中提及此字段。它只是插入插入的时间和日期。

简单的。:)

于 2012-04-09T18:23:25.700 回答
0

是的,您可以使用 TIMESTAMP、DATETIME 甚至 VARCHAR 数据类型在数据库表中创建一列,并使用 now() 函数将日期和时间插入其中。它工作得很好。祝你好运!!!

INSERT INTO table_name(Some_column,Date_column) VALUES ('Ephraim Tarfa',now()) ;

于 2013-06-28T12:19:38.520 回答