> > My code around line 1059 in MySQLBroker.pm looks like this: > > > > sub _mysql_exec { > > my ($self, $dbcall) = @_; > > my @resultsArray; > > my $count=0; > > my $sth = $self->{_dbh}->prepare("$dbcall"); > > You shouldn't store a $dbh in your objects like this. Apache::DBI > will check that your connection is still good when you try to use it, > but only if you call connect(). If you don't, your connection can go > stale and get dropped.
Aside from that, a general trick that seems to help sometimes is changing "my" to "local our". But I believe Perrin is right, you should have your scripts call connect() at their beginnings, and Apache::DBI will do the caching for you. Kev