disconnect invalidates 1 active statement handle (either destroy statement handles or call finish on them before disconnecting)Perché Apache si lamenta che il mio programma mod_perl "disconnect invalida 1 handle di istruzione attivo"?
Il codice seguente, che prende i dati da MySQL viene eseguito con successo, ma farà sì che Apache per generare il messaggio di cui sopra nel suo log degli errori:
my $driver = "mysql";
my $server = "localhost:3306";
my $database = "test";
my $url = "DBI:$driver:$database:$server";
my $user = "apache";
my $password = "";
#Connect to database
my $db_handle = DBI->connect($url, $user, $password)
or die $DBI::errstr;
#SQL query to execute
my $sql = "SELECT * FROM tests WHERE id=?";
#Prepare SQL query
my $statement = $db_handle->prepare($sql)
or die "Couldn't prepare query '$sql': $DBI::errstr\n";
#Execute SQL Query
$statement->execute($idFromSomewhere)
or die "Couldn't execute query '$sql': $DBI::errstr\n";
#Get query results as hash
my $results = $statement->fetchall_hashref('id');
$db_handle->disconnect();
Ci saranno conseguenze disastrose ignorando il detto errore/avvertimento? Il codice è in esecuzione da una settimana senza effetti negativi.
C'è qualcosa che non va con il codice o è solo un avvertimento innocuo?
Modifica
codice viene eseguito tramite mod_perl.
Ehi Brian, grazie per aver modificato il titolo. Ho letto tutti i tuoi libri prima. – GeneQ