OUJOOD.COM
La fonction ping() ou mysqli_ping() en PHP
PHP Version: 5+
La fonction ping() ou mysqli_ping() est utilisée pour vérifier l'état d'une connexion à un serveur MySQL. Elle renvoie TRUE si la connexion est active et FALSE si elle est inactive ou n'existe pas.
Définition et utilisation
La fonction ping() est définie comme suit :
bool ping(void);
Elle prend en entrée un identifiant de connexion, mais si aucun identifiant n'est spécifié, elle utilise l'identifiant de connexion par défaut.
Syntaxes orientée objet et procédurale
En PHP, il existe deux syntaxes pour utiliser la fonction ping():
- Syntaxe orientée objet
$mysqli = new mysqli('serveur', 'utilisateur', 'motDePasse', 'ma_base_de_données'); if ($mysqli->ping()) { echo 'La connexion est active'; } else { echo 'La connexion est inactive'; }
- Syntaxe procédurale
$link = mysqli_connect('serveur', 'utilisateur', 'motDePasse', 'ma_base_de_données'); if (mysqli_ping($link)) { echo 'La connexion est active'; } else { echo 'La connexion est inactive'; }
Valeurs possibles et paramètres
La fonction ping() renvoie les valeurs suivantes :
- TRUE si la connexion est active
- FALSE si la connexion est inactive ou n'existe pas
La fonction ping() ne prend aucun paramètre.
Exemples pratiques
Voici quelques exemples pratiques d'utilisation de la fonction ping():
- Vérifier l'état d'une connexion avant d'effectuer une requête MySQL
Exemple : 📋 Copier le code
<?php $mysqli = new mysqli('serveur', 'utilisateur', 'motDePasse', 'ma_base_de_données'); if ($mysqli->ping()) { // La connexion est active, on peut effectuer une requête $result = $mysqli->query('SELECT * FROM users'); } else { // La connexion est inactive, on génère une erreur throw new Exception('La connexion au serveur MySQL est inactive'); }?>
- Vérifier l'état d'une connexion à intervalles réguliers
Exemple : 📋 Copier le code
<?php $mysqli = new mysqli('serveur', 'utilisateur', 'motDePasse', 'ma_base_de_données'); setInterval(function() { if (!$mysqli->ping()) { // La connexion est inactive, on tente de se reconnecter $mysqli->reconnect(); } }, 10000); // Vérification toutes les 10 secondes?>
Cas d'utilisation pratique : Vérifier l'état d'une connexion à intervalles réguliers
Dans ce cas, la fonction ping() est utilisée pour vérifier l'état d'une connexion à intervalles réguliers, afin de garantir que la connexion est toujours active. Si la connexion est inactive, la fonction reconnect() est utilisée pour tenter de se reconnecter.
Exemple orienté objet
Exemple : 📋 Copier le code
<?php PHP $mysqli = new mysqli('localhost', 'root', '', 'my_database'); setInterval(function() { if (!$mysqli->ping()) { // La connexion est inactive, on tente de se reconnecter $mysqli->reconnect(); } }, 10000); // Vérification toutes les 10 secondes ?>
Utilisez le code avec précaution. En savoir plus
Exemple procédurale
Exemple : 📋 Copier le code
<?php PHP $link = mysqli_connect('localhost', 'root', '', 'my_database'); setInterval(function() { if (!mysqli_ping($link)) { // La connexion est inactive, on tente de se reconnecter mysqli_reconnect($link); } }, 10000); // Vérification toutes les 10 secondes ?>
Utilisez le code avec précaution. En savoir plus
Ces cas d'utilisation ne sont que quelques exemples parmi de nombreux autres. La fonction ping() peut être utilisée dans de nombreux contextes différents, tels que :
- Vérifier l'état d'une connexion avant d'effectuer une opération critique
- Vérifier l'état d'une connexion avant de commencer une tâche longue
- Vérifier l'état d'une connexion à intervalles réguliers, pour garantir la disponibilité du serveur MySQL
Astuces et conseils d'utilisation pratique
- La fonction ping() est utile pour vérifier l'état d'une connexion avant d'effectuer des opérations MySQL.
- Elle peut également être utilisée pour vérifier l'état d'une connexion à intervalles réguliers, afin de garantir que la connexion est toujours active.
- Si la fonction ping() renvoie FALSE, cela signifie que la connexion est inactive ou n'existe pas. Dans ce cas, il est possible de tenter de se reconnecter à l'aide de la fonction reconnect().