©
本文档使用 PHP中文网手册 发布
(PECL mysqlnd-uh >= 1.0.0-alpha)
MysqlndUhConnection::close — Closes a previously opened database connection
$connection
, int $close_type
)Closes a previously opened database connection.
Note:
Failing to call the parent implementation may cause memory leaks or crash PHP. This is not considered a bug. Please, keep in mind that the mysqlnd library functions have never been designed to be exposed to the user space.
connection
The connection to be closed. Do not modify!
close_type
Why the connection is to be closed. The value
of close_type
is one of
MYSQLND_UH_MYSQLND_CLOSE_EXPLICIT
,
MYSQLND_UH_MYSQLND_CLOSE_IMPLICIT
,
MYSQLND_UH_MYSQLND_CLOSE_DISCONNECTED
or
MYSQLND_UH_MYSQLND_CLOSE_LAST
. The
latter should never be seen, unless the default
behaviour of the mysqlnd library
has been changed by a plugin.
Returns TRUE
on success.
Otherwise, returns FALSE
Example #1 MysqlndUhConnection::close() example
<?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 ));
$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 ();
?>
以上例程会输出:
proxy::close(array ( 0 => NULL, 1 => 0, )) close_type = MYSQLND_UH_MYSQLND_CLOSE_EXPLICIT proxy::close returns true