Php/docs/mysqlnduhconnection.close
MysqlndUhConnection::close
(PECL mysqlnd-uh >= 1.0.0-alpha)
MysqlndUhConnection::close — Closes 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 ofMYSQLND_UH_MYSQLND_CLOSE_EXPLICIT
,MYSQLND_UH_MYSQLND_CLOSE_IMPLICIT
,MYSQLND_UH_MYSQLND_CLOSE_DISCONNECTED
orMYSQLND_UH_MYSQLND_CLOSE_LAST
. The latter should never be seen, unless the default behaviour of themysqlnd
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
参见
- mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
- mysqli_close() - 关闭先前打开的数据库连接
- mysql_close() - 关闭 MySQL 连接