mysqli::close

mysqli_close

(PHP 5, PHP 7)

mysqli::close -- mysqli_closeFerme une connexion

Description

Style orienté objet

public mysqli::close(): bool

Style procédural

mysqli_close(mysqli $mysql): bool

Ferme la connexion spécifiée par le paramètre link.

Les connexions et les jeux de résultats ouverts de façon non persistantes sont automatiquement détruits lorsqu'un script PHP termine son exécution. Aussi, le fait de fermer une connexion et libérer les résultats étant optionnel, le fait de le faire explicitement est néanmoins vivement recommandé. Ceci va retourner les ressources immédiatement à PHP et à MySQL, ce qui va améliorer les performance. Pour plus d'informations, référez-vous à la libération des ressources

Liste de paramètres

mysql

Seulement en style procédural : Un objet mysqli retourné par la fonction mysqli_connect() ou par la fonction mysqli_init()

Valeurs de retour

Cette fonction retourne true en cas de succès ou false si une erreur survient.

Exemples

Voir mysqli_connect().

Notes

Note:

mysqli_close() ne ferme pas les connexions persistantes. Pour plus de détails, voir la page du manuel sur les connexions persistantes.

Voir aussi

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