2012-12-26 4 views
19

MySQL 프로 시저에서 PHP 스크립트를 호출하고 실행하려고합니다. 이것이 가능한가?MySQL에서 PHP 스크립트를 실행할 수있는 방법이 있습니까?

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

[편집]
나는 조건이 충족되는 이벤트 높이기 위해 노력하고 사실입니다 - 내 테이블 필드의 값이 현재 시간과 일치 할 때, 예를 들어 있습니다. 그런 다음 이벤트를 캡처하고 이메일을 보내려고합니다.

+7

당신은 캔트 없음 !! 없다 정확한 해결책을 찾기 위해 노력하십시오. –

+3

아니, 당신은 데이터베이스에서 PHP 스크립트를 검색하고 eval 함수를 호출 할 수는 없지만 doinbg이 무엇인지는 틀린 것입니다. – 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

시험 할 시간이 없다 .. 정말 작동합니까? 시험 했니? 멋지다! –

관련 문제