Closes a previously opened database connection


(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::closeCloses a previously opened database connection

Описание

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

Closes a previously opened database connection.

Замечание:

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

Примеры

Пример #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));
   
/* WARNING: you must call the parent */
   
$ret parent::close($res$close_type);
   
printf("%s returns %s\n"__METHOD__var_export($rettrue));
   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 

Смотрите также