Pravděpodobně ne potřeba změnit oddělovač.
Oddělovač je potřeba v CLI, aby bylo možné zjistit, kde končí příkaz SQL, protože CLI bude číst a provádět další příkazy, dokud mu neřeknete, aby se zastavil (např. pomocí exit
nebo Control-D). Ale to, co ve skutečnosti čte, je jen proud postav; nějak potřebuje zjistit, kde končí jeden příkaz a kde začíná další. To dělá oddělovač.
V PHP každé volání funkce provede jeden příkaz. V jednom volání funkce nemůže být více příkazů, takže není potřeba způsob, jak je vymezit. Příkaz je celý řetězec. To platí pro starý mysql_query
stejně jako novější mysqli_query
a CHOP. Samozřejmostí je mysqli_multi_query
pokud opravdu chcete předat více dotazů jedné funkci.
V případě uložené procedury/spouštěče/funkce/atd. může existovat více příkazů, ale to zpracovává samotné MySQL (a je vždy ;
, POKUD VÍM). Takže pokud jde o PHP, je to stále jeden výrok.
Nastavení oddělovače, které vidíte v phpMyAdmin, se pravděpodobně používá k rozdělení příkazů a pravděpodobně se provádí v kódu PHP. Musí to udělat, protože přijímá uživatelský vstup skládající se z více příkazů, ale musí předat pouze jeden příkaz na volání funkce. (Nekontroloval jsem kód phpMyAdmin, abych si tím byl zcela jistý).