20

我想从 MySQL 过程调用和执行 PHP 脚本。这可能吗?

CREATE PROCEDURE simpleproc (OUT param1 INT)
    BEGIN
         Call my php script here
    END//

[编辑]
实际上,我试图在满足条件时引发事件 - 例如,当我的表字段值与当前时间匹配时。然后,我想捕捉事件并发送电子邮件。

4

3 回答 3

20

有可能,请参阅 MySQL 常见问题解答以了解如何

触发器可以通过 UDF 调用外部应用程序吗?

但是,如果您不得不诉诸于此,这可能是您的糟糕设计

于 2012-12-26T12:03:50.703 回答
12
DELIMITER @@

CREATE TRIGGER Test_Trigger
AFTER INSERT ON MyTable
FOR EACH ROW
BEGIN

DECLARE cmd CHAR(255);
DECLARE result int(10);
SET cmd=CONCAT('/usr/bin/php ', '/home/test/beta/demo.php');
SET result = sys_exec(cmd);

END;
@@
DELIMITER ;

来源

于 2012-12-26T12:22:13.477 回答
3

为了解决您的问题,您可以为任务创建表。从存储过程中,您可以将任务的任何字符串放入此表。在服务器上,您可以通过 crontab 运行 PHP 脚本。脚本将检查该表并进行一些操作。

于 2012-12-26T12:21:25.980 回答