Les effets jQuery
La fonction PHP refresh()` est un outil puissant qui peut être utilisé pour résoudre des problèmes liés à la cohérence des données entre votre application PHP et la base de données MySQL. Cet article, vous explique comment l'utiliser.
PHP Version: 5.3+
La fonction PHP refresh(), également connue sous le nom de mysqli_refresh(), permet de rafraîchir les tables, les caches ou les informations de réplication d'une base de données MySQL. Elle est utile dans les situations où les données de la base de données ont été modifiées ou mises à jour, et où vous souhaitez vous assurer que ces modifications sont reflétées dans votre application PHP.
La fonction refresh() prend un ou plusieurs drapeaux en paramètre, qui déterminent le type de rafraîchissement à effectuer. Les drapeaux disponibles sont :
La fonction refresh() peut être utilisée de deux manières :
Syntaxe orientée objet:
$mysqli = new mysqli($host, $username, $password, $database); // Rafraîchit les tables de la base de données $mysqli->refresh(MYSQLI_REFRESH_TABLES); // Rafraîchit les informations de réplication $mysqli->refresh(MYSQLI_REFRESH_MASTER | MYSQLI_REFRESH_SLAVE);
Syntaxe procédurale:
$mysqli = mysqli_connect($host, $username, $password, $database); // Rafraîchit les tables de la base de données mysqli_refresh($mysqli, MYSQLI_REFRESH_TABLES); // Rafraîchit les informations de réplication mysqli_refresh($mysqli, MYSQLI_REFRESH_MASTER | MYSQLI_REFRESH_SLAVE);
Les drapeaux MYSQLI_REFRESH_TABLES et MYSQLI_REFRESH_MASTER | MYSQLI_REFRESH_SLAVE peuvent être combinés pour effectuer un rafraîchissement complet de la base de données.
Voici quelques exemples pratiques d'utilisation de la fonction refresh() en version orientée objet :
Rafraîchir les tables après une insertion de données:
Exemple : Copier le code
<?php // Insérez des données dans la table `users` $stmt = $mysqli->prepare("INSERT INTO users (name, email) VALUES (?, ?)"); $stmt->bind_param("ss", $name, $email); $name = "John Doe"; $email = "johndoe@example.com"; $stmt->execute(); // Rafraîchit les tables pour refléter les modifications $mysqli->refresh(MYSQLI_REFRESH_TABLES); ?>
Rafraîchir les informations de réplication après une mise à jour du serveur maître:
Exemple : Copier le code
<?php // Mettez à jour les informations du serveur maître $mysqli->query("UPDATE master_info SET server_id = 123456"); // Rafraîchit les informations de réplication $mysqli->refresh(MYSQLI_REFRESH_MASTER | MYSQLI_REFRESH_SLAVE); ?>
Et voici les versions procédurales des exemples pratiques cités ci-dessus :
Rafraîchir les tables après une insertion de données:
Exemple : Copier le code
<?php // Connectez-vous à la base de données $mysqli = mysqli_connect($host, $username, $password, $database); // Insérez des données dans la table `users` $stmt = mysqli_prepare($mysqli, "INSERT INTO users (name, email) VALUES (?, ?)"); mysqli_stmt_bind_param($stmt, "ss", $name, $email); $name = "John Doe"; $email = "johndoe@example.com"; mysqli_stmt_execute($stmt); // Rafraîchit les tables pour refléter les modifications mysqli_refresh($mysqli, MYSQLI_REFRESH_TABLES); // Fermez la connexion à la base de données mysqli_close($mysqli); ?>
Rafraîchir les informations de réplication après une mise à jour du serveur maître:
Exemple : Copier le code
<?php // Connectez-vous à la base de données $mysqli = mysqli_connect($host, $username, $password, $database); // Mettez à jour les informations du serveur maître mysqli_query($mysqli, "UPDATE master_info SET server_id = 123456"); // Rafraîchit les informations de réplication mysqli_refresh($mysqli, MYSQLI_REFRESH_MASTER | MYSQLI_REFRESH_SLAVE); // Fermez la connexion à la base de données mysqli_close($mysqli); ?>