文字

MysqlndUhConnection::close

(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.

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

参见

  • mysqlnd_uh_set_connection_proxy() - Installs a proxy for mysqlnd connections
  • mysqli_close() - 关闭先前打开的数据库连接
  • mysql_close() - 关闭 MySQL 连接
上一篇: 下一篇: