Имате повече проблемни случаи, отколкото само точка и запетая в низовете.
- Скрипт вграден
команди, които не могат да бъдат изпълнени от
mysql_query()
, катоUSE
. - Изявления, които не се завършват с точка и запетая, като
DELIMITER
. - Изявления, които съдържат точки и запетая, но не в кавички, като
CREATE PROCEDURE
.
Не знам лесен начин да се справя с тази задача, без да се обръщам към клиента от командния ред на mysql. Разбирам, че казахте, че не можете да разчитате на присъствието на този клиент, но без този клиент се нуждаете от голямо количество PHP код, за да анализирате скрипта и да изпълните по подходящ начин оператори.
Може да успеете да намерите такъв код в phpMyAdmin продукт. Този продукт обаче е лицензиран под GPL, така че ако използвате някой от кода, трябва да лицензирате и свой собствен проект под GPL.
Вижте и моите отговори на тези свързани въпроси:
- Изпълнение на MySQL *.sql файлове в PHP
- Зареждане на .sql файлове отвътре PHP
- възможно ли е да се извика sql скрипт от съхранена процедура в друг sql скрипт?