Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 时间()的MYSQL变体是什么?_Php_Mysql - Fatal编程技术网

Php 时间()的MYSQL变体是什么?

Php 时间()的MYSQL变体是什么?,php,mysql,Php,Mysql,在我的脚本中,我在数据库中存储了一个PHP time()值。 我有一个简单的解决方案,但我打赌它肯定不是最“干净”的解决方案 <?php $time = time(); mysql_query("DELETE FROM table WHERE expire < '$time';"); ?> 在MySQL中,函数名为now() 从expire

在我的脚本中,我在数据库中存储了一个PHP time()值。 我有一个简单的解决方案,但我打赌它肯定不是最“干净”的解决方案

   <?php
   $time = time(); 
   mysql_query("DELETE FROM table WHERE expire < '$time';");
   ?>

在MySQL中,函数名为now()

从expire
在MySQL中,函数名为now()

从expire
是的,有。您可以使用now函数

mysql_query("DELETE * FROM table WHERE expire < NOW();");
mysql_查询(“DELETE*FROM table WHERE expire

编辑:我建议您使用此功能,而不要使用UNIX\u时间戳。原因是您应该将列类型设置为DATE,而不是long。在这种情况下,您可以对日期列执行时间函数,而对时间戳值执行时间函数并不容易

是的。您可以使用now函数

mysql_query("DELETE * FROM table WHERE expire < NOW();");
SELECT UNIX_TIMESTAMP(); // returns 1298999053 for example
mysql_查询(“DELETE*FROM table WHERE expire
编辑:我建议您使用此功能,而不要使用UNIX\u时间戳。原因是您应该将列类型设置为DATE,而不是long。在这种情况下,您可以对日期列执行时间函数,而对时间戳值执行时间函数并不容易

SELECT UNIX_TIMESTAMP(); // returns 1298999053 for example
因此:

mysql\u查询(“从过期的表中删除*”
因此:

mysql\u查询(“从过期的表中删除*”
我只花了5秒钟就在谷歌上找到了上面的链接。@SuperSpy:除非它为您完成了所有的工作,并且让您自己没有任何研究或努力投入,否则它是没有帮助的?认真地你是唯一了解你的需求的人,现在你有了满足这些需求的工具。@Tomalak Geret'kal:我做过研究,但这个社区不是用来分享知识的吗?那么,如果有人可以通过分享他的知识来帮助我,我为什么要花几个小时来寻找正确的信息呢。而且。。。否决票。。。真的吗?此外,我还就我打算做的事情给出了一个“明确”的解释…@SuperSpy:你得到了这些知识,然后抱怨说“这没有帮助”,因为你仍然需要从一个充满美味的MySQL日期/时间函数的文档页面中挑选出确切的需求!我只花了5秒钟就在谷歌上找到了上面的链接。@SuperSpy:除非它为你做了所有的工作,让你没有任何研究或努力投入自己的工作,否则它是没有帮助的?认真地你是唯一了解你的需求的人,现在你有了满足这些需求的工具。@Tomalak Geret'kal:我做过研究,但这个社区不是用来分享知识的吗?那么,如果有人可以通过分享他的知识来帮助我,我为什么要花几个小时来寻找正确的信息呢。而且。。。否决票。。。真的吗?此外,我还就我打算做的事情给出了一个“明确”的解释…@SuperSpy:你得到了这些知识,然后抱怨说“这没有帮助”,因为你仍然需要从一个充满美味的MySQL日期/时间函数的文档页面中挑选出确切的需求@阿米拉明法尔:现在有人对我们两人投了反对票(我想知道为什么人们会做这样的事情,却不解释为什么他们不喜欢这个答案……是的,我想知道为什么。鼓励你写评论,但此人没有解释原因。现在()给出了这样的格式:“2007-12-15 23:50:26”where time()提供以下格式:1298995533,因此您无法比较它们,或者您可以?如果您坚持在PHP中使用time(),则无法比较它们。您应该将列类型更改为DATE,并使用NOW()插入。您将受益于许多可用的日期函数。使用日期列类型,您可以执行以下操作:始终以最接近数据自然形式的形式表示数据。这意味着不要将日期表示为字符串或整数。@AmirRaminfar:有人刚刚否决了我们两人的投票:(我想知道为什么人们会做这样的事情,却不解释为什么他们不喜欢这个答案……是的,我想知道为什么。鼓励你写评论,但此人没有解释原因。现在()给出了这样的格式:“2007-12-15 23:50:26”where time()提供以下格式:1298995533,因此您无法比较它们,或者您可以?如果您坚持在PHP中使用time(),则无法比较它们。您应该将列类型更改为DATE,并使用NOW()插入。您将受益于许多可用的日期函数。使用日期列类型,您可以执行以下操作:始终以最接近数据自然形式的形式表示数据。这意味着不要将日期表示为字符串或整数。Now()提供了以下格式:“2007-12-15 23:50:26”where time()给出此格式:1298995533,因此您无法比较它们,或者您可以?@SuperSpy-请参阅Amir Raminfar的编辑。expire列应为DATETIME类型,然后NOW()更合适。如果不是此格式,您是正确的,但我会更改它,因为DATETIME在大多数情况下更有用。嗯,time()看起来像“1298995533”的格式更有效…我不需要显示时间,我的服务器只需要比较当前时间和过期时间。我的列类型为INT(10)有没有更好的方法?@SuperSpy:这要看情况而定,两者都可以。我个人更喜欢datetime,因为MySQL中的许多时间函数都使用它,当使用unixtime时,我发现需要进行大量转换。显然,这取决于您打算对数据运行的其他查询。没有,我唯一需要做的就是需要做的是将当前时间与过期时间进行比较。如果能够以最有效的方式进行比较,那就太好了。我想我会选择unix时间戳。现在()给出了以下格式:“2007-12-15 23:50:26”where time()给出此格式:1298995533,因此您无法比较它们,或者您可以?@SuperSpy-请参阅Amir Raminfar的编辑。expire列应为DATETIME类型,然后NOW()更合适。如果不是此格式,您是正确的,但我会更改它,因为DATETIME在大多数情况下更有用。嗯,time()类似于“1298995533”的格式更为有效