On Mon, 3 Feb 2003 14:49:39 +0000 (GMT), Nigel J. Andrews wrote:
> I presume that the issue here is that in the 1 or 0 rows returned case
> where 1 row indicates I have a problem then I am not fetching from or
> finishing that statement. Although, in the debugger I've seen the Active
> flag still set after doing a single fetch on a 1 row resultset.
The problem is that the statement doesn't get marked inactive until you have
fetched the row after the last one:
# There are some rows to fetch here
$sth1->execute; # Active
...
$sth1->fetch; # Last row returned, still active
$sth1->fetch; # undef returned, now it's inactive
# No rows to fetch in this case
$sth0->execute; # Active
$sth0->fetch; # undef returned, now it's inactive
As you can see, this behaviour is necessary in order that empty result sets
can be recognised. Otherwise you'd be fetching on an inactive handle.
--
Peter Haworth pmh@edison.ioppublishing.com
Hi, this is Ken. What's the root password?