MysqlndUhConnection::charsetName
MysqlndUhConnection::connect
MysqlndUhConnection
PHP Manual

# MysqlndUhConnection::close

(PECL mysqlnd-uh >= 1.0.0-alpha)

MysqlndUhConnection::close — Closes 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($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

### 参考

- mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
- mysqli_close() - 事前にオープンしているデータベース接続を閉じる
- mysql_close() - MySQL 接続を閉じる

MysqlndUhConnection::charsetName
MysqlndUhConnection::connect
MysqlndUhConnection
PHP Manual