Molto probabilmente non hai bisogno del DELIMTER
comando. Questo appartiene ai programmi client incentrati su MySQL.
Prova con semplici vecchi punti e virgola:
if (!$mysqli->query("DROP PROCEDURE IF EXISTS p") ||
!$mysqli->query("CREATE PROCEDURE p(IN id_val INT) BEGIN INSERT INTO test(id) VALUES(id_val); END;")) {
echo "Stored procedure creation failed: (" . $mysqli->errno . ") " . $mysqli->error;
}
e lascia che PHP si preoccupi di delimitare
AVVISO
Ho ricevuto il codice sopra da http://php.net/manual /it/mysqli.quickstart.stored-procedures.php