Re: Problem when calling stored procedure

"Pierre Hainard" <[email protected]> Sun, 11 Nov 2007 15:02:53 +0100
Newsgroups gmane.comp.db.mysql.perl
Message-ID <002201c8246b$912809c0$0201a8c0@papa>
Hi
I have the problem that with
 my $sth = $dbh->prepare($procedure);
the two parameters are passed to $para1 and $para2 : procedure=CALL 
p1(10,12) is passed to MySql

and with
my $sth = $dbh->prepare($linproc[0]);
the two parameters are not passed to $para1 and $para2 : linproc=CALL 
p1($para1,$para2)   is passed to MySql
and perl interpretor gives an error passing parameters in field list


C:\Documents and Settings\papse\My Documents\AERP\DBI>perl DBI-5.pl
procedure=CALL p1(10,12)
DBD::mysql::st execute failed: Champ '$para1' inconnu dans field list at 
DBI-5.p
l line 44.
DBD::mysql::st execute failed: Champ '$para1' inconnu dans field list at 
DBI-5.p
l line 44.
linproc=CALL p1($para1,$para2)


NB inconnu translated is not know

Thank you for help
Meilleures salutations


Pierre Hainard
Chalet 15
2300 La Chaux de Fonds
[email protected]





----- Original Message ----- 
From: "Wagner, Chris (GEAE, CBTS)" <[email protected]>
To: "Pierre Hainard" <[email protected]>
Cc: <[email protected]>
Sent: Friday, November 09, 2007 3:41 PM
Subject: Re: Problem when calling stored procedure


> Hi.  In the second one ur passing an anonymous hash to the prepare()
> function.  It needs to be a scalar like in ur first example.  So just
> get rid of the {}'s and it should work assuming $procedure eq
> $linproc[0].
>
> Pierre Hainard wrote:
>> # Calling the procedure
>> $para1 = 10;$para2 = 12;
>> my $procedure = "CALL p1($para1,$para2)";
>>
>> #this one does  work
>> my $sth = $dbh->prepare($procedure);
>> #this one does not work  why ??
>> #my $sth = $dbh->prepare({$linproc[0]});
>> $sth->execute();
>
>
>
>
>
> -- 
> Chris Wagner
> CBTS
> GE Aircraft Engines
> [email protected] 


-- 
MySQL Perl Mailing List
For list archives: http://lists.mysql.com/perl
To unsubscribe:    http://lists.mysql.com/[email protected]