MysqlndUhConnection::close
Closes a previously opened database connection
&reftitle.description;
public boolMysqlndUhConnection::close
mysqlnd_connectionconnection
intclose_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.
&reftitle.parameters;
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.
&reftitle.returnvalues;
Returns &true; on success.
Otherwise, returns &false;
&reftitle.examples;
MysqlndUhConnection::close example
"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();
?>
]]>
&example.outputs;
NULL,
1 => 0,
))
close_type = MYSQLND_UH_MYSQLND_CLOSE_EXPLICIT
proxy::close returns true
]]>
&reftitle.seealso;
mysqlnd_uh_set_connection_proxy
mysqli_close
mysql_close