MysqlndUhConnection::close
(PECL mysqlnd-uh >= 1.0.0-alpha)
MysqlndUhConnection::close — Cierra una conexión a una base de datos abierta previamente
Descripción
$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.
Parámetros
-
connection -
La conexión a cerrar. ¡No modificar!
-
close_type -
Por qué la conexión se va a cerrar. El valor de
close_typees una de la consntantesMYSQLND_UH_MYSQLND_CLOSE_EXPLICIT,MYSQLND_UH_MYSQLND_CLOSE_IMPLICIT,MYSQLND_UH_MYSQLND_CLOSE_DISCONNECTEDoMYSQLND_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.
Valores devueltos
Devuelve TRUE en caso de éxito.
De lo contrario, devuelve FALSE
Ejemplos
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
Ver también
- mysqlnd_uh_set_connection_proxy() - Instala un proxy para las conexiones de mysqlnd
- mysqli_close() - Cierra una conexión a base de datos previamente abierta
- mysql_close() - Cierra una conexión de MySQL