【问题标题】:PHP/MySQL - Run a function once date matches one of MySQL rows datesPHP/MySQL - 一旦日期与 MySQL 行日期之一匹配,就运行一个函数
【发布时间】:2017-11-28 22:50:03
【问题描述】:

我正在开发一个基于实时的回合系统。一轮从某一天开始,例如November 28, 2017,并在假设December 5, 2017 结束。这些日期存储在 MySQL 数据库中。

现在我想运行一系列特定于回合结束的脚本并自动开始新回合。为此,我需要某种自动处理程序来将当前日期与存储在数据库中的日期进行比较,并启动 PHP 脚本序列。

让它发挥作用的最佳方法是什么? 我知道 SQL 中的 triggered events 可以使它工作,但我认为他们不允许我使用 php 脚本,对吗?

【问题讨论】:

  • MySQL EVENT 只能使用 SQL 语句,它们不能调用 PHP 代码。你需要在这个上执行 cronjob。
  • 您的脚本在哪个操作系统中运行?
  • @T30 是 Linux
  • @RaymondNijland 刚看了一眼,看来这就是我要找的,谢谢!

标签: php mysql


【解决方案1】:

试试这样的

DELIMITER $$
CREATE TRIGGER round_system    
AFTER UPDATE ON rounds
FOR EACH ROW    
BEGIN    
  DECLARE result INT;    
  SET result = sys_exec('C:/php/php.exe C:/path/to/check_round.php');     
END$$
DELIMITER ;

【讨论】:

  • 这个给了我function sys_exec does not exist 警报,看来我需要编写某种编译器才能让它在我的 MySQL 中工作,对吧?
  • 对不起,我没有告诉你,sys_exec 不是一个标准的 mysql 函数。 UDF 插件,必须单独安装:github.com/mysqludf/lib_mysqludf_sys#readme
猜你喜欢
  • 2020-03-28
  • 2015-01-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多