Php/docs/mysqlnduhconnection.close

来自菜鸟教程
跳转至:导航、​搜索

MysqlndUhConnection::close

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::closeCloses a previously opened database connection


说明

public MysqlndUhConnection::close ( mysqlnd_connection $connection , int $close_type ) : bool

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

<?phpfunction 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));   /* WARNING: you must call the parent */   $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

参见