disconnect invalidates 1 active statement handle (either destroy statement handles or call finish on them before disconnecting)爲什麼Apache會抱怨我的mod_perl程序「斷開連接使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();
會不會有什麼嚴重的後果 忽略說錯誤/警告? 該代碼已運行一週 沒有任何不良影響。
代碼 有什麼問題嗎?或者這只是一個無害的警告?
編輯
代碼經由mod_perl的執行。
嘿,布賴恩,感謝您編輯標題。我以前讀過你所有的書。 – GeneQ 2009-02-17 09:25:31