当Time = this时,如何执行查询?

时间:2012-02-08 09:28:08

标签: php mysql

我想在特定时间运行查询

例如,如果时间是5:10:25,请执行此查询

尝试使用以下代码

date_default_timezone_set("Asia/Calcutta");
$time=date("h:i:s");
if ($time=='04:10:00')
{
$sql="insert into bsechartsdata (TickerPlantCode,DateTime,OpenPrice,HighPrice,LowPrice,ClosePrice) select DISTINCT TickerPlantCode,DateTime,OpenPrice,HighPrice,LowPrice,ClosePrice from bsepricequotes_latest";
$query=mysql_query($sql);
}

但查询未执行 在哪里做错了?

8 个答案:

答案 0 :(得分:1)

如果要在Web应用程序中集成这种类型的代码,则需要一个人(并且只需一个)来准确地发出请求,因此它不会发出声音 喜欢一个好主意。在Linux下研究cron作业(如果你使用的是Windows服务器,则计划任务)

答案 1 :(得分:1)

为此使用cron作业不是更好吗? http://www.pantz.org/software/cron/croninfo.html

如果您在"主机"上没有此支持,那么您可以创建一个包含需要完成的作业的数据库。如果传递的时间在数据库中,那么您就完成了任务。

答案 2 :(得分:0)

将当前时间戳/时间添加到此处:

$time=date("h:i:s", time());

答案 3 :(得分:0)

您最好使用cron job运行将执行该查询的脚本。

像你这样的if语句会要求某人在第二秒运行该特定页面。

答案 4 :(得分:0)

PHP代码必须由某种源触发。 如果用户在精确 04:10:00点击您的Web服务器,则会执行查询。 但是你不能指望PHP接受你给出的指令,并记得在指定的时间执行一个程序。

简而言之 - 您需要设置Cron

答案 5 :(得分:0)

您可以创建一个查询队列,一个具有某种结构的表:

  • execute_after DATETIME
  • my_query TEXT

然后创建一个每分钟运行一次的脚本(或每分钟多次运行:有一些技巧)。然后你只需要插入你想要在队列中运行的查询,你的cronjob将在它应该执行时执行它!

答案 6 :(得分:0)

你是否需要领先零?

$time=date("H:i:s");

答案 7 :(得分:0)

http://en.wikipedia.org/wiki/Cron +您需要在每次cron运行时查看当前时间和时间, 只要当前时间少于您的时间,您就必须执行查询。

你需要为此设置标志(如果没有设置标志然后只运行查询)