我想從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 –