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
)Ferme 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.
Valeurs de retour
Retourne TRUE
en cas de succès.
Sinon, retourne FALSE
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