Re: Biding Arrays from Oracle Stored Procedure to PHP Variables
| From: | Lang Sharpe | Date: | Thu, 29 May 2003 06:35:39 +0000 |
| Subject: | Re: Biding Arrays from Oracle Stored Procedure to PHP Variables | ||
| References: | 1 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-149350@lists.php.net to get a copy of this message | ||
Have a look at this paper, in particular the collections section at the end
http://www.phpconference.de/2001/slides/arntzen_ocipaper.txt
I've never used them myself, because they look a bit dodgy. But it may be
the only way to do what you're trying to do.
Lang
Gregory Watson wrote:
> Hi guys...
>
> I'm very new to using Oracle and stored procedures.
>
> I'm using a stored procedure to return 12 variables, 8 of which are
> arrays.
>
> <?php
>
> $EventID = 41403;
> $BufferSize = 3000;
> $connection_oracle = OCILogon("****","******", "******");
>
> $statement_oracle = OCIParse($connection_oracle, "BEGIN
> CFADMIN.getRewardUserList(:in_eventid, :out_status,
> :out_record_count, :in_buffersize, :out_memberid, :out_firstname,
> :out_lastname, :out_city, :out_state, :out_loginid, :out_email,
> :out_redeemstatus); END;");
>
> OCIBindByName($statement_oracle, ":in_eventid", $EventID, -1);
> OCIBindByName($statement_oracle, ":out_status", $Status, -1);
> OCIBindByName($statement_oracle, ":out_record_count", $RecordCount,
> -1); OCIBindByName($statement_oracle, ":in_buffersize", $BufferSize,
> -1); OCIBindByName($statement_oracle, ":out_memberid", $MemberID, -1,
> OCI_ASSOC);
> OCIBindByName($statement_oracle, ":out_firstname", $FirstName, -1,
> OCI_ASSOC);
> OCIBindByName($statement_oracle, ":out_lastname", $LastName, -1,
> OCI_ASSOC);
> OCIBindByName($statement_oracle, ":out_city", $City, -1, OCI_ASSOC);
> OCIBindByName($statement_oracle, ":out_state", $State, -1, OCI_ASSOC);
> OCIBindByName($statement_oracle, ":out_loginid", $LoginID, -1,
> OCI_ASSOC);
> OCIBindByName($statement_oracle, ":out_email", $Email, -1, OCI_ASSOC);
> OCIBindByName($statement_oracle, ":out_redeemstatus", $RedeemStatus,
> -1, OCI_ASSOC);
>
> OCIExecute($statement_oracle, OCI_DEFAULT);
> OCIFreeStatement($statement_oracle);
> OCILogOff($connection_oracle);
>
> ?>
>
> I keep getting the following error:
>
> Warning: OCIStmtExecute: ORA-06550: line 1, column 7: PLS-00306:
> wrong number or types of arguments in call to 'GETREWARDUSERLIST'
> ORA-06550: line 1, column 7: PL/SQL: Statement ignored in
> C:\ftp_dir\boards\winners.php on line 22
>
> I know I'm not binding them correctly, but I've looked all over the PHP
> site and I can't seem to find anything that makes any sense in what to
> do! Can anyone help?
>
> Thanks in advance!
>
> Greg