Tôi chưa thử nghiệm, nhưng tôi sẽ không ngạc nhiên bởi mysqli_multi_query()
mong đợi có cùng một dấu phân cách cho mỗi truy vấn. Hãy thử đóng gói tạo thủ tục được lưu trữ trong một truy vấn duy nhất mà không sử dụng công cụ sửa đổi DELIMITER?
Vì vậy, thay vì
<?php
$results = mysqli_multi(
'DELIMITER $$
USE `dbname`$$
CREATE PROCEDURE `procname`(IN inputparameters)
BEGIN
... procedure goes here
;
END$$
DELIMITER ;
');
?>
Chỉ cần làm điều này
<?php
$result = mysqli_query('CREATE PROCEDURE `procname`(IN inputparameters) BEGIN ...; END');
Và cho chúng tôi biết nếu nó hoạt động :)