Проблема с вызовом php-скрипта из триггера mysql

#php #mysql #sql #database #triggers

#php #mysql #sql #База данных #триггеры

Вопрос:

Я использую phpmyadmin. Я использую триггер в mysql, который вызывает php-скрипт после вставки чего-либо в таблицу. Но я не могу создать триггер, он показывает сообщение об ошибке..

#1064 синтаксическая ошибка sql

Помогите мне с этим… Мой код внутри триггера

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

Комментарии:

1. Или свяжите PHP со скриптом, который его выполнит (например, поместив PHP в раздел ДАННЫХ скрипта perl и передав данные скрипта интерпретатору PHP). Хотя, чтобы уточнить, я предоставляю это решение просто для разнообразия; решение nl-x имеет больше смысла.

Ответ №1:

Вы должны использовать что-то вроде select (вот почему вы получаете синтаксическую ошибку.)

И вы должны использовать какой-нибудь исполняемый файл, который будет запускать этот PHP-файл. (НАПРИМЕР PHP.EXE )

Попробуйте что-то вроде:

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

Комментарии:

1. могу ли я узнать, что такое C:/path/to/PHP.EXE и где я могу это достать php.exe досье.. Я новичок, пожалуйста, помогите мне… Спасибо..

2. @user3496195 Ты пробовал c:xamppphpphp.exe ? Существует ли это на вашем диске?

3. да php.exe существует… но после изменения моего кода, как вы предлагаете, я получил ту же ошибку … есть ли какая-либо другая ошибка в моем коде .. отредактировал мой код и в моем вопросе…

4. @user3496195 Я думаю, что в нем отсутствуют дополнительные скобки () . Я отредактировал свой ответ

5. теперь триггер был создан, но я не могу вставить что-либо в таблицу, она показывает ошибку # 1305 — ФУНКЦИЯ db2.sys_exec не существует