(PECL mysqlnd-uh >= 1.0.0-alpha)
MysqlndUhConnection::close — Cierra una conexión a una base de datos abierta previamente
$connection
, int $close_type
)Cierra una conexión a una base de datos abierta previamente.
Nota:
El no llamar a la implmentación made podría ocasionar pérdidas de memoria o que PHP falle. Esto no se considera un error. Por favor, recuerde que las funciones de la biblioteca mysqlnd no han sido diseñadas para ser expuestas al espacio de usuario.
connection
La conexión a cerrar. ¡No modificar!
close_type
Por qué la conexión se va a cerrar. El valor de
close_type
es una de la consntantes
MYSQLND_UH_MYSQLND_CLOSE_EXPLICIT
,
MYSQLND_UH_MYSQLND_CLOSE_IMPLICIT
,
MYSQLND_UH_MYSQLND_CLOSE_DISCONNECTED
o
MYSQLND_UH_MYSQLND_CLOSE_LAST
. Esta
última no debería usarse, a menos que el comportamiento
predeterminado de la biblioteca mysqlnd
haya sido cambiado por un complemento.
Devuelve TRUE
en caso de éxito.
De lo contrario, devuelve FALSE
Ejemplo #1 Ejemplo de 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));
/* ADVERTENCIA: se debe llamar al padre */
$ret = parent::close($res, $close_type);
printf("%s returns %s\n", __METHOD__, var_export($ret, true));
return $ret;
}
}
mysqlnd_uh_set_connection_proxy(new proxy());
$mysqli = new mysqli("localhost", "root", "", "test");
$mysqli->close();
?>
El resultado del ejemplo sería:
proxy::close(array ( 0 => NULL, 1 => 0, )) close_type = MYSQLND_UH_MYSQLND_CLOSE_EXPLICIT proxy::close returns true