When you disconnect you'll probably get a warning about invalidating
1 active statement handle. Either call finish or use a $dbh->selectrow_*
method - that's what they're there for.
Tim.
On Tue, Nov 12, 2002 at 03:28:53PM -0500, Hardy Merrill wrote:
> Christopher G Tantalo [[EMAIL PROTECTED]] wrote:
> > Stephane Legault wrote:
> >
> > > I do a lot of select in many statement and fetch the result on a array as
> > > needed. But now one of my staement is a "select count() from ...". How can
> > > I get the value of this statement?
> >
> > I do not know what db you are using, etc, but here we are using oracle on a
> > *nix box. and it is just the same as any other db call
> > my $sth = $dbh->prepare("SELECT count(*) from dmg.papf_view")
> > or die "Cant prepare SQL statement: $DBI::errstr\n";
>
> my $sql = qq{
> SELECT count(*)
> FROM my_table
> };
> my $sth = $dbh->prepare($sql)
> or die "Can't prepare SQL statement: $DBI::errstr";
> $sth->execute() or die "Can't execute SQL statement: $DBI::errstr";
>
> ### Need the parenthesis arround $total_rows here since
> ### we're using fetchrow_array.
> my ($total_rows) = $sth->fetchrow_array()
>
> I didn't use a while loop here since you're only expecting
> 1 row to be returned - that being the count.
>
> That's the basic concept - off-the-top-of-my-head I can't remember
> what fetchrow_array returns if there is an error or if there
> are no rows - you'll need to check for those conditions.
>
> HTH.
>
> --
> Hardy Merrill
> Senior Software Engineer
> Red Hat, Inc.