ID:               26738
 Updated by:       [EMAIL PROTECTED]
 Reported By:      mbaranidharan at yahoo dot com
-Status:           Assigned
+Status:           Closed
 Bug Type:         Feature/Change Request
 Operating System: *
 PHP Version:      4.3.4
 Assigned To:      tony2001
 New Comment:

Fixed since OCI8 release 1.2 and PHP release 5.1.2.
You can use oci_bind_array_by_name() to bind PL/SQL arrays.


Previous Comments:
------------------------------------------------------------------------

[2005-06-30 11:33:07] svjoy at yandex dot ru

Absolutely agree this is a serious problem. The way I am using to
overcome this - temporary tables. But this requires another
statement/cursor/parse and overhead. Many other languages HAVE the
possibility. I cant understand why PHP doesn't. There is a great need
for the way to pass structured data directly from PL/SQL environment to
PHP (more preferrable, to native PHP array, but not fetchable
Oracle-native). If I get such volume of structured data that can be
allocated in RAM, why sholud I use cursors and other DBMS-related
features? Why cant I get it in native PHP data type and forget about
DBMS and release its resources?

------------------------------------------------------------------------

[2005-06-14 17:19:47] [EMAIL PROTECTED]

Please *do not* add any comments to the report if they are not related
to the current bug. Either create a new report (hint: use var_dump() in
your code instead of echo()) or ask your questions somewhere else. 
This system is not a support forum and this report is not a forum
topic.

------------------------------------------------------------------------

[2005-06-14 16:58:22] lukasz608 at o2 dot pl

A some more:

The function names in code above comes from PHP4, because i tried it
also with PHP4.

------------------------------------------------------------------------

[2005-06-14 16:55:35] lukasz608 at o2 dot pl

Hello,

I have the code like this:

"
$stmt = ociParse($conn,  "BEGIN ".
                          "  UTL_PC_CA_PATCH.patch_raport('TST', 21511,
:data); ".
                          "END;");
$data = ocinewcollection($conn, 'VARCHAR2TABTYPE');
ociBindByName($stmt, ":data", &$data, -1, OCI_B_NTY);
ociExecute($stmt, OCI_DEFAULT);
echo "SIZE: ".$data->size."<BR>";
echo $data->getelem(1);
ocilogoff($conn);
"

The result is:
"
SIZE: 
"

Can you explain me why $data is empty?
1. Type VARCHAR2TABTYPE is defined on users schema.
2. I'm sure that PL/SQL procedure returns table containg several
elements in ":data".

------------------------------------------------------------------------

[2004-03-05 08:05:08] mbaranidharan at yahoo dot com

Hi is there a solution available for this prob. Pls let me know.
I have a c++ code which uses oracle OCI library to call the package and
get me the result as array. Is there any detailed example available to
create php extension in c++ which returns a array. Pls let me know.
Thanks

------------------------------------------------------------------------

The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
    http://bugs.php.net/26738

-- 
Edit this bug report at http://bugs.php.net/?id=26738&edit=1

Reply via email to