See inline comment.

Soheil Shaghaghi wrote:
> Hi everyone,
> Can anyone please tell me what the problem is with this code?
> Every time I run my program with this code in it, I get an error in the log
> files:
> DBD::mysql::st fetchrow_array failed: fetch() without execute() at
> IWeb/sqlengine.pm line 3395.
> 
> 
> 
> sub SQL_Is_Sponsor {
>   my ($link_id) = @_;
>   my $is_sponsor = 0;
> 
>   if($link_id) {
>         my $PriviledgeGroupID;
>         $SQL = "SELECT account FROM HS_links WHERE id = $link_id";
>         $sth = $dbh->prepare($SQL) || IWEB::SQL_ERROR($SQL);
>         $rc = $sth->execute || IWEB::SQL_ERROR($SQL);
> 
>         my($account) = $sth->fetchrow_array;
> 
>         if($account) {
>                 $SQL = "SELECT PriviledgeGroupID FROM USERU WHERE UserName =
> '$account'";
>                 $sth = $dbh_bac->prepare($SQL) || IWEB::SQL_ERROR($SQL);
>                 $PriviledgeGroupID = $sth->fetchrow_array;


----->  Right here you have prepared a new statement and reused your 
statement handle variable ($sth), which you then call fetchrow_array on 
without doing the actual execute first.

Sidenote: Either you should not clobber your statement handle variable 
(so that it can be reused later) or you might consider using a "join" so 
that you only have to do one select.

http://danconia.org

<snip>


-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to