2012-12-26 13 views
19

Ich möchte ein PHP-Skript aus einer MySQL-Prozedur aufrufen und ausführen. Ist das möglich?Gibt es eine Möglichkeit, ein PHP-Skript von MySQL auszuführen?

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

[EDIT]
Ich bin in der Tat versucht, ein Ereignis zu erhöhen, wenn eine Bedingung erfüllt ist - zum Beispiel, wenn mein Tabellenfeld Wert der aktuellen Uhrzeit übereinstimmt. Dann möchte ich das Ereignis festhalten und eine E-Mail senden.

+7

No Sie kann nicht !! Teilen Sie Ihr genaues Problem, wir versuchen, alternative Lösungen zu finden. –

+3

Nein du kannst nicht, du könntest PHP-Skript aus der Datenbank abrufen und eval-Funktion aufrufen, aber was auch immer du bist, doinbg würde es einfach falsch sein – Linas

+1

Versuchen Sie, 'do_system()' in http://www.databasesecurity.com zu sehen /mysql/HackproofingMySQL.pdf –

Antwort

3

greifen müssen für Ihr Problem lösen Sie können eine Tabelle für Aufgaben erstellen. Aus der gespeicherten Prozedur können Sie eine beliebige Zeichenfolge für die Aufgabe in diese Tabelle einfügen. Auf Server können Sie PHP-Skript von Crontab ausführen. Script überprüft diese Tabelle und führt einige Operationen aus.

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

Habe keine Zeit zu testen .. Funktioniert es wirklich? Hast du getestet? Sieht großartig aus! –

Verwandte Themen