Ich habe es nicht getestet, aber mysqli_multi_query()
wird mich nicht überraschen Erwarten Sie, dass alle Abfragen dasselbe Trennzeichen haben. Versuchen Sie, die Erstellung der gespeicherten Prozedur in eine einzige Abfrage zu packen, ohne den DELIMITER-Modifizierer ?
Also statt
<?php
$results = mysqli_multi(
'DELIMITER $$
USE `dbname`$$
CREATE PROCEDURE `procname`(IN inputparameters)
BEGIN
... procedure goes here
;
END$$
DELIMITER ;
');
?>
Mach das einfach
<?php
$result = mysqli_query('CREATE PROCEDURE `procname`(IN inputparameters) BEGIN ...; END');
Und sagen Sie uns, ob es funktioniert :)