我想从MySQL过程调用并执行PHP脚本。这可能吗?有没有什么办法可以从MySQL执行PHP脚本?
CREATE PROCEDURE simpleproc (OUT param1 INT)
BEGIN
Call my php script here
END//
[编辑]
我事实上是在试图提高在满足条件的情况下 - 当我的表字段值当前时间相匹配的实例。然后,我想捕捉事件并发送电子邮件。
我想从MySQL过程调用并执行PHP脚本。这可能吗?有没有什么办法可以从MySQL执行PHP脚本?
CREATE PROCEDURE simpleproc (OUT param1 INT)
BEGIN
Call my php script here
END//
[编辑]
我事实上是在试图提高在满足条件的情况下 - 当我的表字段值当前时间相匹配的实例。然后,我想捕捉事件并发送电子邮件。
这是可能的,见MySQL的常见问题如何
Can triggers call an external application through a UDF?
的解释,但它很可能是你的一部分不好的设计,如果你不得不求助于此
Definitly bad设计.. –
为您解决问题你可以为任务创建表格。 从存储过程中,您可以将任何字符串放入此表中。 在服务器上,您可以通过crontab运行PHP脚本。脚本会检查这张表并进行一些操作。
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 ;
没有时间测试..它真的有用吗?你测试了吗?看起来很棒! –
不,你不能!分享您的具体问题,我们尝试寻找替代解决方案。 –
不,你不能从数据库中检索PHP脚本并调用eval函数,但无论你做什么,它都会是错误的 – Linas
尝试查看http://www.databasesecurity.com中的'do_system()' /mysql/HackproofingMySQL.pdf –