Oracle
 sql >> база данни >  >> RDS >> Oracle

Съхранена процедура за извикване на PHP-OCI с параметри

Използване на foreach подход от моят отговор на друг от вашите въпроси не е добра идея, когато работите със съхранени процедури.

Въпреки че работи (както е показано във вашия въпрос, променливите са зададени в $params масив след изпълнение) най-големият проблем е, че трябва да предоставите четвъртия параметър (maxlength ) към oci_bind_by_name . Използвали сте статична стойност 32 във вашия код, но възниква грешка, когато дължината на стойност надвишава това. Не може да се изчисли по време на изпълнение и задаването му на много голяма стойност е неефективно (може би това не е проблем за вашето приложение).

Тъй като изпълнявате известна съхранена процедура, трябва да знаете maxlength на изходните стойности по време на проектиране и те могат да бъдат въведени статично чрез поставяне на всички oci_* функции в getHours() , вместо да се опитвате да абстрахирате всички извиквания към customExecute() .




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да споделяте данни в една организация

  2. Какъв е смисълът на ORM, ако трябва да дефинирам всяко поле в app.config за Oracle .net Entity Framework

  3. В PL/SQL вземете таблица като параметър, филтрирайте я и я върнете

  4. asp.net ядро ​​Oracle.DataAccess System.BadImageFormatException:Не може да се зареди файл или сборка Oracle.DataAccess

  5. Грешка при свързване на SSMA за Oracle с Oracle