Php mysql事件调度程序,每天上午8点调度事件

Php mysql事件调度程序,每天上午8点调度事件,php,mysql,sql,events,scheduler,Php,Mysql,Sql,Events,Scheduler,我检查了phpmyadmin上的事件计划程序已关闭。我的网站是实时的,我不知道在上设置事件调度器会产生什么不良影响 我想创建每天早上都应该执行的事件,从表中获取一些值并显示在页面上 CREATE EVENT rate ON SCHEDULE EVERY 24 HOUR STARTS '2011-12-01 8:00:00' DO BEGIN END 我要在事件内部执行的查询是: SELECT url,sentiment, count(url) from userpost where user

我检查了phpmyadmin上的事件计划程序已关闭。我的网站是实时的,我不知道在上设置事件调度器会产生什么不良影响

我想创建每天早上都应该执行的事件,从表中获取一些值并显示在页面上

CREATE EVENT rate ON SCHEDULE EVERY 24 HOUR STARTS '2011-12-01 8:00:00' DO BEGIN

END
我要在事件内部执行的查询是:

SELECT url,sentiment, count(url) from userpost where userid='".$userid."' group by url order by count(url) desc;
我很困惑

事件将在phpmyadmin上创建。应该在php页面上执行查询,以获取要在页面上显示的值

CREATE EVENT rate ON SCHEDULE EVERY 24 HOUR STARTS '2011-12-01 8:00:00' DO BEGIN

END

如何管理这种情况?

您必须将变量的状态更改为
ON

在phpmyadmin上运行以下查询

SET GLOBAL event_scheduler = ON;
编辑::


您必须创建一个php页面,windows调度器每天早上8点可以调用该页面,然后您可以在页面上直接调用查询。无法使用mysql事件计划程序执行此操作。您可以使用windows scheduler或其他一些应用程序执行此操作。

看起来您对MySQL事件或任何事件调度器的用途有点困惑。它用于批处理,无法单独向客户端返回任何结果集


SELECT或SHOW等语句仅返回 结果集在事件中使用时无效;这些数据的输出 不会发送到MySQL监视器,也不会存储在任何位置。然而, 您可以使用诸如SELECT。。。插入并插入到。。。 选择用于存储结果的选项。(有关详细信息,请参阅本节中的下一个示例。) 后者的一个例子。)

现在,如果需要从php页面执行查询,请继续执行


另一方面,如果您想预先计算一些资源密集型的结果集,您可以使用
INSERT-INTO。。。选择。。。从…
语法和事件执行它并将结果存储在表中。然后从php页面从该表中获取并呈现它们。

我还没有深入阅读该主题,但是我不明白如果它是
上的
,为什么会有任何副作用;如果有的话,它只会查找您创建的事件并运行它。您还可以取消该事件。然而,我不太明白你到底在问什么。您发布了事件计划的代码,但它当前设置为
off
。你能再详细解释一下吗?@Fred ii-:谢谢你,伙计。实际上我正在探索mysql事件shedular。只是想确保在适当位置使用它不会对其他现有数据库系统产生负面影响。您的问题与
phpMyAdmin
无关,它是一个客户端工具,没有phpMyAdmin服务器。有一个MySQL服务器。因此,请适当地重新标记您的问题。@peterm:谢谢。我会更新的没关系,我就知道。我的问题是如何使用上述事件,这样我就无法每天早上从数据库中获取记录并在页面上显示它们。我被一步一步的行动弄糊涂了,我需要执行感谢,我正在寻找类似的东西,你能参考任何例子吗?谢谢。我浏览了链接。您说过“这并不意味着返回任何结果集”。我很抱歉,但如果是这样的话,那么页面上如何显示“基于小时或基于每日”的记录?我认为这是使用事件调度仅在database@petern:选择并插入我始终可以执行的操作。但是,如果我想每小时获取几个参数(这些参数会随着时间而更新),并在页面上显示它们,该怎么办呢?页面上如何显示“基于小时或基于每日”的记录取决于页面的开发方式。您可以执行查询并使用结果呈现页面,您的页面可能会对某个RESTfull服务进行AJAX调用,该服务可以用php实现,该服务执行查询并返回结果(例如JSON格式),您可以呈现它们…@petern:“RESTfull服务”like?“RESTfull服务”like?首先,你可以阅读