MysqlndUhConnection::close

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::closeFerme une connexion existante à la base de données

Description

public bool MysqlndUhConnection::close ( mysqlnd_connection $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 parmi MYSQLND_UH_MYSQLND_CLOSE_EXPLICIT, MYSQLND_UH_MYSQLND_CLOSE_IMPLICIT, MYSQLND_UH_MYSQLND_CLOSE_DISCONNECTED ou MYSQLND_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

LoadingChargement en cours