切断は、1 つのアクティブなステートメント ハンドルを無効にします (切断する前にステートメント ハンドルを破棄するか、終了を呼び出します)。
MySQL からデータを取得する次のコードは正常に実行されますが、Apache のエラー ログに上記のメッセージが生成されます。
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();
上記のエラー/警告を無視することで、悲惨な結果が生じることはありますか? コードは 1 週間実行されており、悪影響はありません。
コードに何か問題がありますか、それとも無害な警告ですか?
編集
コードは mod_perl 経由で実行されます。