2012-12-26 177 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

沒有時間測試..它真的有用嗎?你測試了嗎?看起來很棒! –

相關問題