хорошо, ребята, попробуйте сейчас

я есть несколько хранимых процедур, сделанных с MySQL Workbench. Они прекрасно работают, когда используют MySQL, чтобы поместить их в мою тестовую БД.

Сейчас я готовлю сценарии создания БД к развертыванию, и это единственное, что доставляет мне неприятности. Когда я использую командную строку / оболочку mysql, сценарий прекрасно работает. Это только когда я использую интерфейс PHP mysql (i) для выполнения скрипта - это не удается. Без комментариев.

Я использую сценарии создания процедур, которые генерирует для меня MySQL; то есть у этого есть образец:

SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL';

в начале сценария, затем повторяя для каждой процедуры:

DELIMITER $
USE `dbname`$
CREATE PROCEDURE `procname`(IN inputparameters)
BEGIN

... процедура идет здесь

;
END$
DELIMITER ;

Этот скрипт отлично работает, если запустить из MySQL Workbench. Это также работает нормально, если я пытаюсь сделать то же самое из командной строки mysql. Но ничего не получается, когда я запускаю его через интерфейс PHP mysqli (выполняя его с помощью mysqli_multi_query, который отлично работает для других сценариев, создающих и заполняющих БД). На интерфейсе нет ошибок, нет результатов (!). Все, что я получаю, это «ложь», и это все. Код ошибки равен 0, сообщения об ошибке нет.

Это большой WTF для меня, и я надеюсь, что вы можете указать мне правильное направление - как я могу это исправить и установить процедуры из PHP?

PS: доступ root / admin предоставлен и проверен (в конце концов, я только что создал БД с тем же соединением, создал пользователей, вставил таблицы и так далее).

Ответы на вопрос(0)

Ваш ответ на вопрос