3
我有以下一段代碼,我在INSERT
之後重定向到MySQL數據庫。MySQL()函數close()在exit()之後仍然會被調用嗎?
if ($connect->query($dragon_sql) === TRUE) {
echo "You've picked the dragon book!";
header('Location: index.php');
exit();
} else {
echo "Error: " . $sql . "<br>" . $connect->error;
}
$connect->close();
我已經閱讀手冊頁exit
終止腳本的執行上。即使退出被調用,關閉函數和對象析構函數也會一直執行。
那麼close()
是關閉函數還是對象析構函數?我無法通過閱讀PHP手冊頁來了解它。
文檔說*「當PHP腳本執行完畢後,開放非永久性MySQL連接和結果集會自動**銷燬**所以,在顯式關閉打開的連接並釋放結果集是可選的時,建議這樣做。這會立即將資源返回給PHP和MySQL,這可以提高性能。「*由於連接是一個對象,因此close()是一個析構函數。 –
@JayBlanchard謝謝!完全回答我的問題 – 8protons
要回答標題中的問題(*與您的問題*中的問題不匹配),因爲腳本執行會在重定向後立即退出,所以不會調用close()。 –