foreach
の使用 私の答え
からのアプローチ ストアドプロシージャを扱うときは、別の質問に答えるのは得策ではありません。
それが機能している間(あなたの質問に示されているように、変数は$params
で設定されます 実行後の配列)最大の問題は、4番目のパラメーター(maxlength
)を指定する必要があることです。 )からoci_bind_by_name
。 32
の静的な値を使用しました コード内にありますが、値の長さがこれを超えるとエラーが発生します。実行時に計算することはできず、非常に大きな値に設定するのは非効率的です(おそらく、これはアプリケーションにとって問題ではありません)。
既知のストアドプロシージャを実行しているため、maxlength
を知っておく必要があります。 設計時の出力値の数であり、これらはすべてのoci_*
を配置することで静的に入力できます。 getHours()
の関数 、customExecute()
へのすべての呼び出しを抽象化しようとする代わりに 。