MysqlndUhConnection::close
(PECL mysqlnd-uh >= 1.0.0-alpha)
MysqlndUhConnection::close — Ferme une connexion existante à la base de données
Description
$connection
, int $close_type
) : boolFerme une connexion existante à la base de données.
Note:
L'échec lors de l'appel de l'implémentation du parent peut causer une fuite mémoire, voire un crash de PHP. Ce comportement n'est pas à considérer comme un bogue. Gardez à l'esprit que les fonctions de la bibliothèque mysqlnd n'ont jamais été conçues pour être exposées à l'espace utilisateur.
Liste de paramètres
-
connection
-
La connexion à fermer. Ne pas modifier !
-
close_type
-
La raison pour laquelle la connexion doit être fermée. La valeur de
close_type
est une constante parmiMYSQLND_UH_MYSQLND_CLOSE_EXPLICIT
,MYSQLND_UH_MYSQLND_CLOSE_IMPLICIT
,MYSQLND_UH_MYSQLND_CLOSE_DISCONNECTED
ouMYSQLND_UH_MYSQLND_CLOSE_LAST
. La dernière ne devrait jamais survenir, tant que le comportement par défaut de la bibliothèque mysqlnd n'a pas été changé par le plugin.
Exemples
Exemple #1 Exemple avec MysqlndUhConnection::close()
<?php
function close_type_to_string($close_type) {
$mapping = array(
MYSQLND_UH_MYSQLND_CLOSE_DISCONNECTED => "MYSQLND_UH_MYSQLND_CLOSE_DISCONNECTED",
MYSQLND_UH_MYSQLND_CLOSE_EXPLICIT => "MYSQLND_UH_MYSQLND_CLOSE_EXPLICIT",
MYSQLND_UH_MYSQLND_CLOSE_IMPLICIT => "MYSQLND_UH_MYSQLND_CLOSE_IMPLICIT",
MYSQLND_UH_MYSQLND_CLOSE_LAST => "MYSQLND_UH_MYSQLND_CLOSE_IMPLICIT"
);
return (isset($mapping[$close_type])) ? $mapping[$close_type] : 'unknown';
}
class proxy extends MysqlndUhConnection {
public function close($res, $close_type) {
printf("%s(%s)\n", __METHOD__, var_export(func_get_args(), true));
printf("close_type = %s\n", close_type_to_string($close_type));
/* ALERTE : vous devez appeler le parent */
$ret = parent::close($res, $close_type);
printf("%s retourne %s\n", __METHOD__, var_export($ret, true));
return $ret;
}
}
mysqlnd_uh_set_connection_proxy(new proxy());
$mysqli = new mysqli("localhost", "root", "", "test");
$mysqli->close();
?>
L'exemple ci-dessus va afficher :
proxy::close(array ( 0 => NULL, 1 => 0, )) close_type = MYSQLND_UH_MYSQLND_CLOSE_EXPLICIT proxy::close retourne true
Voir aussi
- mysqlnd_uh_set_connection_proxy() - Installe un proxy pour les connexions mysqlnd
- mysqli_close() - Ferme une connexion
- mysql_close() - Ferme la connexion MySQL
Document créé le 30/01/2003, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/php-rf-mysqlnduhconnection.close.html
L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.
Références
Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.