Try not using numbers for the placeholder names?

On Thu, Mar 29, 2012 at 1:46 PM, Bruce Johnson <john...@pharmacy.arizona.edu
> wrote:

> Can't mix placeholder styles (:foo/?) at
> /usr/local/lib64/perl5/DBD/Oracle.pm line 329., referer:
> https://resource-scheduler.pharmacy.arizona.edu/calendar/reserve.pl
>
> I thought this is the code fragment producing this error:
>
> my $lda = DBI->connect("dbi:Oracle:$dbname", $login, $dbpass) or die
> $DBI::errstr;
>
> my $sq_res_pend = "insert into reservations_pend (pid, email, cn, purpose,
> reserver_affstring) values(?,?,?,?,?) returning reservations_pend_id into
> :NEWID";
>
> my $csr_res_pend = $lda->prepare($sq_res_pend) or die $DBI::errstr;
> $csr_res_pend->bind_param(1,$res_pid) or die $DBI::errstr;
> $csr_res_pend->bind_param(2,$res_email) or die $DBI::errstr;
> $csr_res_pend->bind_param(3,$res_name) or die $DBI::errstr;
> $csr_res_pend->bind_param(4,$res_purp) or die $DBI::errstr;
> $csr_res_pend->bind_param(5,$res_affil) or die $DBI::errstr;
> $csr_res_pend->bind_param_inout(":NEWID",\$new_res_id, 25) or die
> $DBI::errstr;
>
> $csr_res_pend->execute();
>
> But when I changed it to all ':foo" style, I still got the same error:
>
> my $sq_res_pend = "insert into reservations_pend (pid, email, cn, purpose,
> reserver_affstring) values(:1,:2,:3,:4,:5) returning reservations_pend_id
> into :NEWID";
>
> my $csr_res_pend = $lda->prepare($sq_res_pend) or die $DBI::errstr;
> $csr_res_pend->bind_param(':1',$res_pid) or die $DBI::errstr;
> $csr_res_pend->bind_param(':2',$res_email) or die $DBI::errstr;
> $csr_res_pend->bind_param(':3',$res_name) or die $DBI::errstr;
> $csr_res_pend->bind_param(':4',$res_purp) or die $DBI::errstr;
> $csr_res_pend->bind_param(':5',$res_affil) or die $DBI::errstr;
> $csr_res_pend->bind_param_inout(":NEWID",\$new_res_id, 25) or die
> $DBI::errstr;
>
> $csr_res_pend->execute();
>
> This is the only place in my program where I even used bind_param; every
> other cursor is of the 'select foo, bar, bax from thetable where id =?'
> style.
>
> Also, the line number in the error is from Oracle.pm, how do I find out
> what line in my program caused this?
>
>
>
> --
> Bruce Johnson
> University of Arizona
> College of Pharmacy
> Information Technology Group
>
> Institutions do not have opinions, merely customs
>
>
>


-- 
Check out my LEGO blog at http://www.brickpile.com
Follow/friend me: facebook.com/billward • flickr.com/photos/billward •
twitter.com/williamward

Reply via email to