【问题标题】:Trouble calling a php script from mysql trigger无法从 mysql 触发器调用 php 脚本
【发布时间】:2014-06-26 13:39:50
【问题描述】:

我正在使用 phpmyadmin。 我在 mysql 中使用一个触发器,它在表中插入一些东西后调用一个 php 脚本。 但我无法创建触发器,它显示错误消息..

#1064 sql语法错误

帮我解决这个... 我在触发器中的代码

DECLARE result INT;
SET result=select sys_exec('C:/xampp/php/php.exe C:/xampp/htdocs/mysite/hello.php');

【问题讨论】:

  • 或将 PHP 与将执行它的脚本捆绑在一起(例如,通过将 PHP 放在 perl 脚本的 DATA 部分中并让脚本通过管道将数据传输到 PHP口译员)。虽然,为了澄清,我只是为了多样化而提供该解决方案; nl-x 的解决方案更有意义。

标签: php mysql sql database triggers


【解决方案1】:

您应该使用select 之类的东西(这就是您收到语法错误的原因。)

并且您应该使用一些可执行文件来运行该 PHP 文件。 (如 PHP.EXE)

尝试类似:

DECLARE result INT;    
SET result = (select sys_exec('C:/path/to/PHP.EXE C:/xampp/htdocs/mysite/hello.php'));

【讨论】:

  • 我可以知道什么是 C:/path/to/PHP.EXE 以及我在哪里可以获得这个 php.exe 文件。我是初学者请帮助我...谢谢..跨度>
  • @user3496195 你试过c:\xampp\php\php.exe 吗?你的磁盘上存在吗?
  • 是的 php.exe 存在...但是在按照您的建议更改我的代码后,我遇到了相同的错误...我的代码中是否还有其他错误...在我的问题中也编辑了我的代码...
  • @user3496195 我认为它缺少额外的括号 () 。我已经编辑了我的答案
  • 现在触发器已创建,但我无法向表中插入任何内容,它显示错误为 #1305 - FUNCTION db2.sys_exec 不存在
猜你喜欢
  • 2010-11-30
  • 1970-01-01
  • 2018-08-22
  • 2015-01-25
  • 2016-02-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-09
相关资源
最近更新 更多