Ini adalah sumber yang membantu saya memahami ini...http://zend-framework-community.634137.n4.nabble.com/Problems-changing-the-sql-end-of-statement-delimiter-tp2124060p2124276.html
Saya yakin ini adalah sesuatu yang telah diterapkan oleh beberapa klien MySQL untuk membantu mengirimkan banyak pernyataan sql pada saat yang bersamaan.
pengandar mysqli tidak mengimplementasikan fungsi ini.
Jadi, ini seharusnya berhasil.
$query = <<<QUERY
DROP VIEW IF EXISTS `myview` ;
SHOW WARNINGS;
DROP TABLE IF EXISTS `myview`;
SHOW WARNINGS;
CREATE OR REPLACE VIEW `myview` AS
...view definition...
;
SHOW WARNINGS;
SET [email protected]_SQL_MODE;
SET [email protected]_FOREIGN_KEY_CHECKS;
SET [email protected]_UNIQUE_CHECKS;
QUERY;
$result = mysqli_multi_query($dbConnection, $query);
Saya mengalami masalah yang sama, dengan driver mysqli yang sama, dengan fungsi multi_query (menggunakan pembatas saat membuat prosedur) dan menghapus DELIMITER dari SQL saya berhasil.