↑
Если имеется ввиду не расщепление запросов (что не может служить терминатором, вот при mq=off работало в связке с ";%00"), то большая просьба объяснить феномен.
Давайте разжуем.
MySQL поддерживает расщепление запросов (можно проверить в консольном клиенте), но клиент php должен обратиться, как
Код:
mysqli::multi_query()
mysqli_multi_query ()
Смотрим
http://www.php.net/manual/ru/mysqli.multi-query.php
а в скрипте идет обычное $db->query($sql) и если после ";" будет продолжение строки то восприниматься будет, как ошибка, встретился "конец запроса", а следом идет опровержение, текст запроса продолжается.
Но и в случае mysqli_multi_query () запросы должны быть валидные, а мы после ";" передаем мусор, который мускул не сможет обработать и вывалит ошибку синтаксиса.
Т.е. на этих серверах "нечто" убирает этот мусор, перед тем, как отдать на выполнение СУБД.
Либо существует настройка мускула (о которой я не знаю) и она позволяет обрабатывать запрос только до ";".
Версия на обоих аномальных серверах - 10.1.20-MariaDB, поднимал ее локально для проверки, в конфигурации из коробки реагирует на мусор после ";" привычной ошибкой.