2012-12-26 144 views
19

我想从MySQL过程调用并执行PHP脚本。这可能吗?有没有什么办法可以从MySQL执行PHP脚本?

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

[编辑]
我事实上是在试图提高在满足条件的情况下 - 当我的表字段值当前时间相匹配的实例。然后,我想捕捉事件并发送电子邮件。

+7

不,你不能!分享您的具体问题,我们尝试寻找替代解决方案。 –

+3

不,你不能从数据库中检索PHP脚本并调用eval函数,但无论你做什么,它都会是错误的 – Linas

+1

尝试查看http://www.databasesecurity.com中的'do_system()' /mysql/HackproofingMySQL.pdf –

回答

3

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

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 ; 

source

+0

没有时间测试..它真的有用吗?你测试了吗?看起来很棒! –

相关问题