Ich habe das folgende Bit des Codes, wo ich nach einer zu einer MySQL Datenbank umleiten.Wird die MySQLi-Funktion close() noch nach exit() aufgerufen?
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();
Ich habe auf dem Handbuch Seite gelesen, dass exit
Ausführung des Skripts beendet wird. Shutdown-Funktionen und Objektdestruktoren werden immer ausgeführt, auch wenn exit aufgerufen wird.
So ist close()
eine Shutdown-Funktion oder Objektdestruktor? Ich kann es nicht wirklich sagen, indem ich die PHP-Handbuchseite dafür lese.
Die Dokumente sagen * "Offene nicht persistente MySQL-Verbindungen und Ergebnismengen werden automatisch ** zerstört, wenn ein PHP-Skript seine Ausführung beendet. Daher ist das explizite Schließen offener Verbindungen und das Freigeben von Ergebnismengen optional Dadurch werden sofort Ressourcen an PHP und MySQL zurückgegeben, was die Performance verbessern kann. "* Da die Verbindung ein Objekt ist, ist' close() 'ein Destruktor. –
@JayBlanchard Vielen Dank! Vollständig beantwortet meine Frage – 8protons
Um die Frage in Ihrem Titel zu beantworten (* die nicht die Frage in Ihrer Frage *) entspricht '' close() 'wird nie aufgerufen, da die Skriptausführung unmittelbar nach der Weiterleitung beendet wird. –