oujood.com

Comment récupérer la version du serveur MySQL avec PHP ?

Cet article explique comment récupérer la version du serveur MySQL avec la fonction server_info ou mysqli_get_server_info() en PHP.
Cette fonction est utile pour vérifier la version du serveur MySQL avant d'exécuter des requêtes ou des transactions complexes.

La fonction server_info / mysqli_get_server_info() en PHP

PHP Version: 5+

La fonction server_info ou mysqli_get_server_info() est une fonction PHP qui permet de récupérer la version du serveur MySQL auquel un script est connecté. Elle est disponible dans les deux styles de programmation PHP : orienté objet et procédural.

Définition et utilisation

En style orienté objet, la fonction s'appelle server_info() et est une propriété de l'objet mysqli. Elle retourne une chaîne de caractères représentant la version du serveur MySQL.

En style procédural, la fonction s'appelle mysqli_get_server_info() et prend en paramètre un objet mysqli. Elle retourne également une chaîne de caractères représentant la version du serveur MySQL.

Syntaxes

Style orienté objet

$mysqli = new mysqli("localhost", "my_user", "my_password");

// Récupère la version du serveur MySQL
echo $mysqli->server_info;

Style procédural

$link = mysqli_connect("localhost", "my_user", "my_password");

// Récupère la version du serveur MySQL
echo mysqli_get_server_info($link);

Valeurs possibles

La chaîne de caractères retournée par la fonction server_info ou mysqli_get_server_info() est de la forme suivante :

Version du serveur MySQL: 8.0.21-MariaDB-log

Les valeurs possibles sont les suivantes :

  • La version majeure du serveur MySQL
  • La version mineure du serveur MySQL
  • La version de patch du serveur MySQL
  • Le nom de la branche du serveur MySQL
  • Le nom du compilateur
  • Les options de compilation

Paramètres

La fonction mysqli_get_server_info() ne prend qu'un seul paramètre, un objet mysqli. Ce paramètre est facultatif, car il est possible de le déduire de la variable GLOBALS["___mysqli_ston"], mais il est recommandé de l'expliciter pour plus de clarté.

Exemples

Style orienté objet

Exemple :       Copier le code

<?php
// Définit les paramètres de connexion
$servername = "localhost";
$username = "my_user";
$password = "my_password";

// Crée un objet mysqli
$mysqli = new mysqli($servername, $username, $password);

// Récupère la version du serveur MySQL
echo $mysqli->server_info;

// Ferme la connexion
$mysqli->close();
?>

Style procédural

Exemple :       Copier le code

<?php
// Définit les paramètres de connexion
$servername = "localhost";
$username = "my_user";
$password = "my_password";

// Connecte à la base de données
$link = mysqli_connect($servername, $username, $password);

// Récupère la version du serveur MySQL
echo mysqli_get_server_info($link);

// Ferme la connexion
mysqli_close($link);
?>

Astuces et conseils

  • La fonction server_info ou mysqli_get_server_info() est utile pour vérifier la version du serveur MySQL auquel un script est connecté.
  • Cette fonction peut être utilisée pour afficher la version du serveur MySQL dans une interface utilisateur ou dans un fichier de log.
  • Il est recommandé de vérifier la version du serveur MySQL avant d'exécuter des requêtes ou des transactions complexes.

Cas 1 : Afficher la version du serveur MySQL dans une interface utilisateur

Approche orientée objet

Exemple :       Copier le code

<?php
	$servername = "localhost";
	$username = "my_user";
	$password = "my_password";
	
	$mysqli = new mysqli($servername, $username, $password);
	
	$version = $mysqli->server_info;
	
	echo "Version du serveur MySQL : $version";
	
	$mysqli->close();
?>

Approche procédurale

Exemple :       Copier le code

<?php
	$servername = "localhost";
	$username = "my_user";
	$password = "my_password";
	
	$link = mysqli_connect($servername, $username, $password);
	
	$version = mysqli_get_server_info($link);
	
	echo "Version du serveur MySQL : $version";
	
	mysqli_close($link);
?>

Cas 2 : Enregistrer la version du serveur MySQL dans un fichier de log

Approche orientée objet

Exemple :       Copier le code

<?php
	$servername = "localhost";
	$username = "my_user";
	$password = "my_password";
	
	$mysqli = new mysqli($servername, $username, $password);
	
	$version = $mysqli->server_info;
	
	file_put_contents("/var/log/mysql_version.log", $version);
	
	$mysqli->close();
?>

Approche procédurale

Exemple :       Copier le code

<?php
	$servername = "localhost";
	$username = "my_user";
	$password = "my_password";
	
	$link = mysqli_connect($servername, $username, $password);
	
	$version = mysqli_get_server_info($link);
	
	file_put_contents("/var/log/mysql_version.log", $version);
	
	mysqli_close($link);
?>

Cas 3 : Vérifier la compatibilité avec une version spécifique de MySQL

Approche orientée objet

Exemple :       Copier le code

<?php
	$servername = "localhost";
	$username = "my_user";
	$password = "my_password";
	
	$mysqli = new mysqli($servername, $username, $password);
	
	$version = $mysqli->server_info;
	
	if (version_compare($version, "8.0.21", ">=")) {
		// La version est compatible
	} else {
		// La version n'est pas compatible
	}
	
	$mysqli->close();
?>

Approche procédurale

Exemple :       Copier le code

<?php
	$servername = "localhost";
	$username = "my_user";
	$password = "my_password";
	
	$link = mysqli_connect($servername, $username, $password);
	
	$version = mysqli_get_server_info($link);
	
	if (version_compare($version, "8.0.21", ">=")) {
		// La version est compatible
	} else {
		// La version n'est pas compatible
	}
	
	mysqli_close($link);
?>



Voir aussi nos tutoriel :

La gestion des exceptions javascript

La gestion des exceptions js : Le langage Javascript offre aux programmeurs la possibilité de gérer les exceptions, des anomalies pouvant apparaître subitement dans le code.

dessiner avec php

Dessiner avec PHP la librairie GD

Balise strong

Définit texte important