ほとんどの場合、DELIMTERは必要ありません。 指図。これはMySQL中心のクライアントプログラムに属しています。
プレーンな古いセミコロンで試してください:
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;
}
PHPに区切りについて心配させます
警告
上記のコードは、https://php.net/manualから取得しました。 /en/mysqli.quickstart.stored-procedures.php