Jump to content


Photo

Calling Oracle API (OCIBindByName failing)


  • Please log in to reply
1 reply to this topic

#1 watchdog

watchdog
  • New Members
  • Pip
  • Newbie
  • 2 posts

Posted 25 August 2006 - 04:39 PM

???

Hi folks...Can anyone help me with this?  In the code below, Im trying to capture the out variable p_pay_proposal_id as $p_pay_proposal_id to continue using in my php program.  Im not sure on the -1 parameter in the bind.  The error I'm getting is :

<br />
<b>Warning</b>:  ocibindbyname(): OCIBindByName: ORA-01036: illegal variable name/number

Thanks for the help, I appreciate it!

$stmt=ociparse($connection,
"
declare

l_object_version_number        number := 1;
l_assignment_id                number(10);
l_change_date                  date;
l_element_entry_id            number;
l_inv_next_sal_date_warning    boolean;
l_proposed_salary_warning      boolean;
l_approved_warning            boolean;
l_payroll_warning              boolean;
l_pay_proposal_id              number;

p_false boolean := FALSE;
p_true  boolean := TRUE;

begin

l_assignment_id := $assIdRow[ASSIGNMENT_ID];
l_change_date := '$row[SALARYDATE]';

hr_maintain_proposal_api.insert_salary_proposal
(
    p_pay_proposal_id                  => l_pay_proposal_id,
    p_validate                              => p_true,
    p_assignment_id                      => l_assignment_id,
    p_business_group_id                => 0,
    p_object_version_number          => l_object_version_number,
    p_multiple_components            => 'Y',
    p_change_date                      => l_change_date,
    p_approved                            => 'N',
    p_element_entry_id                => l_element_entry_id,
    p_inv_next_sal_date_warning    => l_inv_next_sal_date_warning,
    p_proposed_salary_warning      => l_proposed_salary_warning,
    p_approved_warning                => l_approved_warning,
    p_payroll_warning                  => l_payroll_warning
); end;");

OCIBindByName($stmt, ":P_pay_proposal_id",
                                $p_pay_proposal_id, -1) or die ('Cant bind variable');

$success=@ociexecute($stmt);

#2 countnikon

countnikon
  • Members
  • PipPip
  • Member
  • 19 posts

Posted 30 August 2006 - 06:48 PM

I haven't tried that before but here is the PHP Manual Page for that with lots of developers notes

http://us3.php.net/ocibindbyname

Maybe this will help.




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users