Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

mysqlnd_uh_set_connection_proxy(3) [php man page]

MYSQLND_UH_SET_CONNECTION_PROXY(3)					 1					MYSQLND_UH_SET_CONNECTION_PROXY(3)

mysqlnd_uh_set_connection_proxy - Installs a proxy for mysqlnd connections

SYNOPSIS
bool mysqlnd_uh_set_connection_proxy (MysqlndUhConnection &$connection_proxy, [mysqli &$mysqli_connection]) DESCRIPTION
Installs a proxy object to hook mysqlnd's connection objects methods. Once installed, the proxy will be used for all MySQL connections opened with mysqli, mysql or PDO_MYSQL, assuming that the listed extensions are compiled to use the mysqlnd library. The function can be disabled with mysqlnd_uh.enable. If mysqlnd_uh.enable is set to FALSE the function will not install the proxy and always return TRUE. Additionally, an error of the type E_WARNING may be emitted. The error message may read like PHP Warning: mysqlnd_uh_set_connection_proxy(): (Mysqlnd User Handler) The plugin has been disabled by setting the configuration parameter mysqlnd_uh.enable = false. The proxy has not been installed [...]. PARAMETERS
o $connection_proxy - A proxy object of type MysqlndUhConnection. o $mysqli_connection - Object of type mysqli. If given, the proxy will be set for this particular connection only. RETURN VALUES
Returns TRUE on success. Otherwise, returns FALSE EXAMPLES
Example #1 mysqlnd_uh_set_connection_proxy(3) example <?php $mysqli = new mysqli("localhost", "root", "", "test"); $mysqli->query("SELECT 'No proxy installed, yet'"); class proxy extends MysqlndUhConnection { public function query($res, $query) { printf("%s(%s) ", __METHOD__, var_export(func_get_args(), true)); $ret = parent::query($res, $query); printf("%s returns %s ", __METHOD__, var_export($ret, true)); return $ret; } } mysqlnd_uh_set_connection_proxy(new proxy()); $mysqli->query("SELECT 'mysqlnd rocks!'"); $mysql = mysql_connect("localhost", "root", "", "test"); mysql_query("SELECT 'Ahoy Andrey!'", $mysql); $pdo = new PDO("mysql:host=localhost;dbname=test", "root", ""); $pdo->query("SELECT 'Moin Johannes!'"); ?> The above example will output: proxy::query(array ( 0 => NULL, 1 => 'SELECT 'mysqlnd rocks!'', )) proxy::query returns true proxy::query(array ( 0 => NULL, 1 => 'SELECT 'Ahoy Andrey!'', )) proxy::query returns true proxy::query(array ( 0 => NULL, 1 => 'SELECT 'Moin Johannes!'', )) proxy::query returns true SEE ALSO
mysqlnd_uh_set_statement_proxy(3), mysqlnd_uh.enable. PHP Documentation Group MYSQLND_UH_SET_CONNECTION_PROXY(3)

Check Out this Related Man Page

MYSQLND_MS_GET_LAST_GTID(3)						 1					       MYSQLND_MS_GET_LAST_GTID(3)

mysqlnd_ms_get_last_gtid - Returns the latest global transaction ID

SYNOPSIS
string mysqlnd_ms_get_last_gtid (mixed $connection) DESCRIPTION
Returns a global transaction identifier which belongs to a write operation no older than the last write performed by the client. It is not guaranteed that the global transaction identifier is identical to that one created for the last write transaction performed by the client. PARAMETERS
o $connection - A PECL/mysqlnd_ms connection handle to a MySQL server of the type PDO_MYSQL, mysqli> or ext/mysql. The connection handle is obtained when opening a connection with a host name that matches a mysqlnd_ms configuration file entry using any of the above three MySQL driver extensions. RETURN VALUES
Returns a global transaction ID (GTID) on success. Otherwise, returns FALSE. The function mysqlnd_ms_get_last_gtid(3) returns the GTID obtained when executing the SQL statement from the fetch_last_gtid entry of the global_transaction_id_injection section from the plugins configuration file. The function may be called after the GTID has been incremented. NOTES
Note mysqlnd_ms_get_last_gtid(3) requires PHP >= 5.4.0 and PECL mysqlnd_ms >= 1.2.0. Internally, it is using a mysqlnd library C func- tionality not available with PHP 5.3. Please note, all MySQL 5.6 production versions do not provide clients with enough information to use GTIDs for enforcing session consistency. In the worst case, the plugin will choose the master only. EXAMPLES
Example #1 mysqlnd_ms_get_last_gtid(3) example <?php /* Open mysqlnd_ms connection using mysqli, PDO_MySQL or mysql extension */ $mysqli = new mysqli("myapp", "username", "password", "database"); if (!$mysqli) /* Of course, your error handling is nicer... */ die(sprintf("[%d] %s ", mysqli_connect_errno(), mysqli_connect_error())); /* auto commit mode, transaction on master, GTID must be incremented */ if (!$mysqli->query("DROP TABLE IF EXISTS test")) die(sprintf("[%d] %s ", $mysqli->errno, $mysqli->error)); printf("GTID after transaction %s ", mysqlnd_ms_get_last_gtid($mysqli)); /* auto commit mode, transaction on master, GTID must be incremented */ if (!$mysqli->query("CREATE TABLE test(id INT)")) die(sprintf("[%d] %s ", $mysqli->errno, $mysqli->error)); printf("GTID after transaction %s ", mysqlnd_ms_get_last_gtid($mysqli)); ?> SEE ALSO
Global Transaction IDs. PHP Documentation Group MYSQLND_MS_GET_LAST_GTID(3)
Man Page