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.
Veuillez noter que toutes les versions en production de MySQL 5.6 ne fournissent pas aux clients les informations suffisantes pour l'utilisation des GTIDs permettant de renforcer la consistence des sessions. Dans un tel cas, le plugin choisira uniquement le maître.
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));
?>
Version en cache
23/11/2024 06:09:17 Cette version de la page est en cache (à la date du 23/11/2024 06:09:17) afin d'accélérer le traitement. Vous pouvez activer le mode utilisateur dans le menu en haut pour afficher la dernère version de la page.Document créé le 30/01/2003, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/php-rf-mysqlnd-ms-get-last-gtid.html
L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.
Références
Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.