#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 не существует