Menggunakan foreach
pendekatan dari jawaban saya
ke pertanyaan Anda yang lain bukanlah ide yang baik ketika berhadapan dengan prosedur tersimpan.
Saat itu berfungsi (seperti yang ditunjukkan dalam pertanyaan Anda, variabel disetel di $params
array setelah eksekusi) masalah terbesar adalah Anda harus memberikan parameter keempat (maxlength
) ke oci_bind_by_name
. Anda telah menggunakan nilai statis 32
dalam kode Anda, tetapi kesalahan muncul ketika panjang nilai melebihi ini. Ini tidak dapat dihitung saat runtime dan menyetelnya ke nilai yang sangat besar tidak efisien (mungkin ini bukan masalah untuk aplikasi Anda).
Karena Anda menjalankan prosedur tersimpan yang diketahui, Anda harus mengetahui maxlength
nilai keluaran pada waktu desain dan ini dapat dimasukkan secara statis dengan meletakkan semua oci_*
fungsi di getHours()
, alih-alih mencoba mengabstraksi semua panggilan ke customExecute()
.