【发布时间】:2018-08-22 23:42:57
【问题描述】:
我有下一个 mysql 触发器:
DELIMITER @@
CREATE TRIGGER Test_Insert
BEFORE INSERT ON sat_clientLocation
FOR EACH ROW
BEGIN
DECLARE cmd CHAR(255);
DECLARE result int(10);
SET cmd=CONCAT('/usr/bin/php ', '/var/www/html/poi/insertTest.php' , NEW.idLocation);
SET result = sys_exec(cmd);
END;
@@
DELIMITER ;
可以在我的 php 文件中使用 NEW.idLocation 吗? 我尝试了一些方法,但不起作用。
【问题讨论】:
-
添加一些关于您的查询的解释
-
$sql ="SELECT txPostCode, id FROM users WHERE id=(SELECT idClient FROM sat_clientLocation where idLocation= NEW.idLocation)";
-
这是不正确的,我把 idLocation= NEW.idLocation 因为我想在那里使用 NEW.idLocation
-
“在我的 php 文件中使用 NEW.idLocation”是什么意思?能否添加已有的 PHP 代码?
-
“我尝试了一些方法,但不起作用。”什么不起作用?因为
sys_exec不是 MySQL 的开箱即用功能,我相信它有一个插件。您可能需要使用/usr/bin/php -f而不是 -f 选项代表文件执行。