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

Php 当Time=this时,如何执行查询,php,mysql,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 T

我想在特定时间运行查询

例如,如果时间是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);
}
但是查询没有执行
我哪里做错了?

如果您要在web应用程序中集成这种类型的代码,那么您需要一个人(而且只有一个人)在您想要的时候准确地发出请求,这样听起来就不会有问题
好主意。研究Linux下的cron作业(或使用windows服务器时的计划任务)

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

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

使用cron作业不是更好吗?

如果您的“主机”上不支持此操作,那么您可以创建一个包含需要完成的作业的数据库。如果数据库中的时间已过,则执行该任务。

最好使用运行脚本来执行该查询


像您这样的if语句需要有人在那一秒运行特定的页面

PHP代码必须由某种源代码触发。 如果用户恰好在04:10:00点击您的web服务器,则将执行查询。 但是,您不能期望PHP接受您给出的指令,并记住在指定的时间执行这样的过程


简而言之,您需要设置一个

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

  • 在DATETIME之后执行
  • 我的查询文本

然后只需创建一个每分钟运行一次的脚本(或者每分钟运行多次:有一些技巧可以做到这一点)。然后,只需在队列中插入要运行的查询,cronjob就会在应该的时候执行它

是否需要前导零

$time=date("H:i:s");
+您需要在每次运行cron时检查当前时间和您的时间, 只要当前时间少于您的时间,您就必须执行查询


您需要为此设置标志(如果未设置标志,则只运行查询)

首先检查
mysql\u错误
?@mishu:ahh,好的。直到手册说明的末尾才阅读。