首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将php文件中的unix时间戳存储到mysql中。

将php文件中的unix时间戳存储到mysql中。
EN

Stack Overflow用户
提问于 2011-07-25 21:55:49
回答 4查看 8.8K关注 0票数 4

现在我有这样的代码:

代码语言:javascript
复制
$mysqldate = date(time());

mysql_query("INSERT INTO permissions (date)
VALUES ('$mysqldate')");

我在插入之前也进行了转义,但我的问题是时间存储为全0。我想知道mysql中的列数据类型会存储如下内容:

代码语言:javascript
复制
1311602030

一个unix时间戳,然后适当地允许我在查询中按最近的日期排序。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-07-25 22:15:50

如果数据库中的时间戳列是INTEGER类型,则可以执行以下操作

代码语言:javascript
复制
mysql_query("INSERT INTO permissions (date) VALUES ('".time()."')");

作为整数值,您还可以执行排序操作,并通过date()函数将其从PHP转换回可读的日期/时间格式。如果数据库中的时间戳列的类型为DATETIME,则可以执行以下操作

代码语言:javascript
复制
mysql_query("INSERT INTO permissions (date) VALUES ('".date('Y-m-d H:i:s')."')");

代码语言:javascript
复制
mysql_query("INSERT INTO permissions (date) VALUES (NOW())");
票数 12
EN

Stack Overflow用户

发布于 2011-07-25 21:59:43

尝试:

代码语言:javascript
复制
mysql_query("INSERT INTO permissions (date) VALUES ('".$mysqldate."')");
票数 0
EN

Stack Overflow用户

发布于 2011-07-25 22:04:14

date()函数需要一个字符串作为第一个参数,这是格式。time(),应该是第二个参数,比如: date('Y-m-d H:i:s',time())。这将返回一个字符串,您可以在DATETIME列中使用它。除此之外,如果您想存储unix时间戳,只需使用INT列。因此,您可以直接存储time()的结果,而无需调用date。(或者,正如我前面所说的,使用date()和有效的格式字符串格式化时间戳,并使用日期、日期时间或时间戳列)。请参阅:http://www.php.net/manual/en/function.date.phphttp://dev.mysql.com/doc/refman/5.1/en/datetime.html

编辑:您看到的0是因为mysql无法识别您用于列的格式(因此,如果您使用的是日期列,但传递了错误的格式,则无法识别它,因此将保存0)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6817231

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档