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.
(PHP 5, PHP 7, PHP 8)
mysqli::close -- mysqli_close — Ferme une connexion
Style orienté objet
Style procédural
Ferme la connexion spécifiée par le paramètre link
.
Les connexions MySQL non-persistantes et les jeux de résultats seront automatiquement fermé quand leurs objets sont détruit. Explicitement fermer les connexions ouvertes et libérer les jeux de résultats est optionnel. Cependant, c'est une bonne idée de fermer la connexion dès que le script termine de performer toutes ses opérations de base de données, si il a encore beaucoup de traitement à faire après avoir récupéré les résultats.
mysql
Seulement en style procédural : Un objet mysqli retourné par la fonction mysqli_connect() ou mysqli_init().
Retourne toujours true
.
Version | Description |
---|---|
8.0.0 |
Cette fonction retourne désormais toujours true . Auparavant, elle retourne false en cas d'échec.
|
Exemple #1 mysqli::close() example
Style orienté objet
<?php
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");
$result = $mysqli->query("SELECT Name, CountryCode FROM City ORDER BY ID LIMIT 3");
/* Close the connection as soon as it's no longer needed */
$mysqli->close();
foreach ($result as $row) {
/* Processing of the data retrieved from the database */
}
Style procédural
<?php
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = mysqli_connect("localhost", "my_user", "my_password", "world");
$result = mysqli_query($mysqli, "SELECT Name, CountryCode FROM City ORDER BY ID LIMIT 3");
/* Close the connection as soon as it's no longer needed */
mysqli_close($mysqli);
foreach ($result as $row) {
/* Processing of the data retrieved from the database */
}
Note:
mysqli_close() ne ferme pas les connexions persistantes. Pour plus de détails, voir la page du manuel sur les connexions persistantes.
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.