mysqlnd_ms_get_last_gtid
(PECL mysqlnd_ms >= 1.2.0)
mysqlnd_ms_get_last_gtid — Retourne le dernier identifiant de transaction globale
Description
Retourne un identifiant de transaction globale qui appartient à une opération en écriture plus récente que la dernière opération en écriture effectuée par le client. Il n'est pas garanti que l'identifiant de transaction globale est identique à celui créée pour la dernière transaction en écriture effectuée par le client.
Liste de paramètres
-
connection
-
Un gestionnaire de connexion PECL/mysqlnd_ms vers un serveur MySQL de type PDO_MYSQL, mysqli ou ext/mysql. Le gestionnaire de connexion est obtenu lors de l'ouverture d'une connexion avec le nom d'hôte qui correspond à l'entrée du fichier de configuration mysqlnd_ms utilisant n'importe laquelle des extensions MySQL listées ci-dessus.
Valeurs de retour
Retourne un identifiant de transaction globale (GTID) en cas de succès, FALSE
sinon.
La fonction mysqlnd_ms_get_last_gtid() retourne le GTID obtenu en exécutant la requête SQL depuis l'entrée fetch_last_gtid de la section global_transaction_id_injection depuis le fichier de configuration du plugin.
La fonction peut être appelée après que GTID ait été incrémenté.
Notes
Note:
mysqlnd_ms_get_last_gtid() requière PHP >= 5.4.0 et PECL mysqlnd_ms >= 1.2.0. En interne, elle utilise une fonctionnalité de la bibliothèque C de mysqlnd qui n'est pas disponible avec PHP 5.3.
Exemples
Exemple #1 Exemple avec mysqlnd_ms_get_last_gtid()
<?php /* On ouvre une connexion mysqlnd_ms en utilisant l'extension mysqli, PDO_MySQL ou mysql */ $mysqli = new mysqli("myapp", "username", "password", "database"); if (!$mysqli) /* Bien évidemment, votre gestionnaire d'erreurs est meilleur... */ die(sprintf("[%d] %s\n", mysqli_connect_errno(), mysqli_connect_error())); /* mode auto_commit, transaction sur le maître, le GTID doit être incrémenté */ if (!$mysqli->query("DROP TABLE IF EXISTS test")) die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error)); printf("GTID après la transaction %s\n", mysqlnd_ms_get_last_gtid($mysqli)); /* mode auto_commit, transaction sur le maître, le GTID doit être incrémenté */ if (!$mysqli->query("CREATE TABLE test(id INT)")) die(sprintf("[%d] %s\n", $mysqli->errno, $mysqli->error)); printf("GTID après la transaction %s\n", mysqlnd_ms_get_last_gtid($mysqli)); ?>