mysqli::close

mysqli_close

(PHP 5, PHP 7)

mysqli::close -- mysqli_closeSchließt die zuvor geöffnete Datenbankverbindung

Beschreibung

Objektorientierter Stil

public mysqli::close ( ) : bool

Prozeduraler Stil

mysqli_close ( mysqli $mysql ) : bool

Schließt die zuvor geöffnete Datenbankverbindung.

Offene nicht-persistente MySQL Verbindungen und Ergebnismengen werden bei der Beendigung der PHP-Skipt-Ausführung automatisch zerstört. Obwohl also das explizite Schließen von offenen Verbindungen und das Freigeben von Ergebnismengen optional ist, wird es dennoch empfohlen. Dadurch werden unmittelbar Ressourcen an PHP und MySQL zurückgeben, was die Performance verbessern kann. Weitere Information ist unter Freigeben von Ressourcen zu finden.

Parameter-Liste

link

Nur bei prozeduralem Aufruf: Ein von mysqli_connect() oder mysqli_init() zurückgegebenes Verbindungsobjekt.

Rückgabewerte

Gibt bei Erfolg true zurück. Im Fehlerfall wird false zurückgegeben.

Beispiele

See mysqli_connect().

Anmerkungen

Hinweis:

mysqli_close() schließt keine persistenten Verbindungen. Weitere Details sind der Handbuchseite zu persistenten Datenbankverbindungen zu entnehmen.

Siehe auch

add a note add a note

User Contributed Notes 3 notes

up
1
PD
5 years ago
Note with Francis' example, using the function name link() will throw an error at runtime as it is already a function within the language. see: http://php.net/manual/en/function.link.php
up
-18
Francois
5 years ago
Since a lot of manual examples recommend to use a variable to initiate your connection, it is interesting to know that mysqli_close() will unset that variable, causing further connection attempts to fail.
ex:

$link = mysqli_connect($host, $user, $pw);

if ($link) {
    // Database is reachable
    mysqli_close($link);
}

if ($link) {
    // Database unreachable because $link = NULL
}

Easiest solution for me is to initiate connection through a function.
ex:

function link() {
    global $host;
    global $user;
    global $pw;
    global $link;
    $link = mysqli_connect($host, $user, $pw);
}

link();
// Database is reachable
mysqli_close($link)
link();
// Database is reachable
mysqli_close($link)
up
-28
php at dafydd dot com
15 years ago
I've had situations where database connections appeared to persist following php execution. So, now, my __destructor function explicitly contains a $cxn->close(). It hurts nothing, and helps avoid memory leaks.
To Top