Pomocí foreach
přístup od moje odpověď
na další z vašich otázek není dobrý nápad při práci s uloženými procedurami.
I když to funguje (jak je uvedeno ve vaší otázce, proměnné jsou nastaveny v $params
pole po spuštění) největším problémem je, že musíte zadat čtvrtý parametr (maxlength
) na oci_bind_by_name
. Použili jste statickou hodnotu 32
ve vašem kódu, ale když délka hodnoty překročí tuto hodnotu, dojde k chybě. Nelze ji vypočítat za běhu a její nastavení na velmi vysokou hodnotu je neefektivní (možná to není pro vaši aplikaci problém).
Protože používáte známou uloženou proceduru, měli byste znát maxlength
výstupních hodnot v době návrhu a ty lze staticky zadat vložením všech oci_*
funkce v getHours()
namísto pokusu o abstrahování všech volání customExecute()
.