Position actuelle: Accueil> Derniers articles> Comment vérifier la version MySQL et effectuer l'opération correspondante dans un script PHP via mysql_get_server_info?

Comment vérifier la version MySQL et effectuer l'opération correspondante dans un script PHP via mysql_get_server_info?

gitbox 2025-09-11

Comment vérifier la version MySQL et effectuer l'opération correspondante dans un script PHP via mysql_get_server_info?

Dans le développement de PHP, il est souvent nécessaire de vérifier la version de la base de données MySQL pour effectuer des opérations spécifiques en fonction de différentes versions. La version d'une base de données MySQL peut affecter certaines requêtes, fonctions ou fonctionnalités SQL, il est donc important de savoir comment ajuster dynamiquement le comportement du programme en fonction de la version de MySQL lors de l'écriture de scripts PHP.

Dans cet article, nous présenterons comment vérifier la version MySQL à l'aide de la fonction MYSQL_GET_SERVER_INFO via un script PHP et effectuez les opérations correspondantes en fonction des informations de version.

1. Utilisez mysql_get_server_info pour obtenir la version mysql

MySQL_GET_SERVER_INFO est une fonction intégrée en PHP qui peut obtenir des informations de version du serveur de base de données MySQL. Cette fonction est disponible en extensions PHP 5.x et précédentes MySQL, mais il convient de noter que dans PHP 7 et plus tard, l'extension MySQL a été abandonnée, et il est recommandé d'utiliser des extensions MySQLI ou PDO_MYSQL .

Tout d'abord, assurez-vous que vous êtes correctement connecté à la base de données MySQL. Une fois la connexion réussie, vous pouvez appeler la fonction mysql_get_server_info pour obtenir les informations de version du serveur.

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// Se connecter à MySQL base de données</span></span><span>
</span><span><span class="hljs-variable">$connection</span></span><span> = </span><span><span class="hljs-title function_ invoke__">mysql_connect</span></span><span>(</span><span><span class="hljs-string">'localhost'</span></span><span>, </span><span><span class="hljs-string">'root'</span></span><span>, </span><span><span class="hljs-string">'password'</span></span><span>);
</span><span><span class="hljs-keyword">if</span></span><span> (!</span><span><span class="hljs-variable">$connection</span></span><span>) {
    </span><span><span class="hljs-keyword">die</span></span><span>(</span><span><span class="hljs-string">'无法Se connecter àbase de données: '</span></span><span> . </span><span><span class="hljs-title function_ invoke__">mysql_error</span></span><span>());
}

</span><span><span class="hljs-comment">// Obtenir MySQL Informations sur la version</span></span><span>
</span><span><span class="hljs-variable">$mysql_version</span></span><span> = </span><span><span class="hljs-title function_ invoke__">mysql_get_server_info</span></span><span>(</span><span><span class="hljs-variable">$connection</span></span><span>);

</span><span><span class="hljs-comment">// Sortir MySQL Version</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"actuel MySQL Version是: "</span></span><span> . </span><span><span class="hljs-variable">$mysql_version</span></span><span>;

</span><span><span class="hljs-comment">// 关闭base de données连接</span></span><span>
</span><span><span class="hljs-title function_ invoke__">mysql_close</span></span><span>(</span><span><span class="hljs-variable">$connection</span></span><span>);
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

2. Utilisez l'extension MySQLI pour obtenir la version MySQL

Comme mentionné précédemment, MySQL_GET_SERVER_INFO est une fonction obsolète, il est donc recommandé d'utiliser l'extension MySQLI à la place. Dans l'extension MySQLI , la façon d'obtenir la version MySQL est la suivante:

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// Se connecter à MySQL base de données</span></span><span>
</span><span><span class="hljs-variable">$connection</span></span><span> = </span><span><span class="hljs-title function_ invoke__">mysqli_connect</span></span><span>(</span><span><span class="hljs-string">'localhost'</span></span><span>, </span><span><span class="hljs-string">'root'</span></span><span>, </span><span><span class="hljs-string">'password'</span></span><span>);
</span><span><span class="hljs-keyword">if</span></span><span> (!</span><span><span class="hljs-variable">$connection</span></span><span>) {
    </span><span><span class="hljs-keyword">die</span></span><span>(</span><span><span class="hljs-string">'无法Se connecter àbase de données: '</span></span><span> . </span><span><span class="hljs-title function_ invoke__">mysqli_connect_error</span></span><span>());
}

</span><span><span class="hljs-comment">// Obtenir MySQL Informations sur la version</span></span><span>
</span><span><span class="hljs-variable">$mysql_version</span></span><span> = </span><span><span class="hljs-title function_ invoke__">mysqli_get_server_info</span></span><span>(</span><span><span class="hljs-variable">$connection</span></span><span>);

</span><span><span class="hljs-comment">// Sortir MySQL Version</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"actuel MySQL Version是: "</span></span><span> . </span><span><span class="hljs-variable">$mysql_version</span></span><span>;

</span><span><span class="hljs-comment">// 关闭base de données连接</span></span><span>
</span><span><span class="hljs-title function_ invoke__">mysqli_close</span></span><span>(</span><span><span class="hljs-variable">$connection</span></span><span>);
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

3. Effectuez des opérations différentes selon la version mysql

Après avoir obtenu les informations de la version MySQL, vous pouvez effectuer différentes opérations en fonction du numéro de version. Par exemple, certaines fonctionnalités peuvent être disponibles dans des versions supérieures de MySQL, mais ne sont pas disponibles dans les versions inférieures. Vous pouvez utiliser des instructions conditionnelles pour vérifier la version de MySQL et effectuer différentes opérations en fonction de différentes versions.

Voici un exemple montrant comment décider d'utiliser certaines fonctionnalités en fonction du numéro de version MySQL:

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// Se connecter à MySQL base de données</span></span><span>
</span><span><span class="hljs-variable">$connection</span></span><span> = </span><span><span class="hljs-title function_ invoke__">mysqli_connect</span></span><span>(</span><span><span class="hljs-string">'localhost'</span></span><span>, </span><span><span class="hljs-string">'root'</span></span><span>, </span><span><span class="hljs-string">'password'</span></span><span>);
</span><span><span class="hljs-keyword">if</span></span><span> (!</span><span><span class="hljs-variable">$connection</span></span><span>) {
    </span><span><span class="hljs-keyword">die</span></span><span>(</span><span><span class="hljs-string">'无法Se connecter àbase de données: '</span></span><span> . </span><span><span class="hljs-title function_ invoke__">mysqli_connect_error</span></span><span>());
}

</span><span><span class="hljs-comment">// Obtenir MySQL Informations sur la version</span></span><span>
</span><span><span class="hljs-variable">$mysql_version</span></span><span> = </span><span><span class="hljs-title function_ invoke__">mysqli_get_server_info</span></span><span>(</span><span><span class="hljs-variable">$connection</span></span><span>);

</span><span><span class="hljs-comment">// Jugement MySQL Version</span></span><span>
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">version_compare</span></span><span>(</span><span><span class="hljs-variable">$mysql_version</span></span><span>, </span><span><span class="hljs-string">'5.7'</span></span><span>, </span><span><span class="hljs-string">'&gt;='</span></span><span>)) {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"MySQL Version为 5.7 Ou plus,De nouvelles fonctionnalités sont disponibles。"</span></span><span>;
    </span><span><span class="hljs-comment">// Effectuer de nouvelles fonctionnalités liées aux opérations</span></span><span>
} </span><span><span class="hljs-keyword">else</span></span><span> {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"MySQL Version低于 5.7,执行旧Version操作。"</span></span><span>;
    </span><span><span class="hljs-comment">// 执行旧Version相关操作</span></span><span>
}

</span><span><span class="hljs-comment">// 关闭base de données连接</span></span><span>
</span><span><span class="hljs-title function_ invoke__">mysqli_close</span></span><span>(</span><span><span class="hljs-variable">$connection</span></span><span>);
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

4. Comparaison et traitement du numéro de version

Version_Compare est une fonction PHP très pratique pour comparer deux numéros de version. Il renvoie trois valeurs:

  • Si le premier numéro de version est supérieur au deuxième numéro de version, retournez 1;

  • Si les deux numéros de version sont égaux, retournez 0;

  • Si le premier numéro de version est plus petit que le deuxième numéro de version, retournez -1.

De cette façon, vous pouvez avoir la flexibilité de prendre différentes actions en fonction de la version MySQL.

5. Choses à noter

  • Lorsque vous utilisez les fonctions MySQL_GET_SERVER_INFO ou MYSQLI_GET_SERVER_INFO , vous devez d'abord vous assurer que la connexion entre PHP et la base de données MySQL est réussie, sinon la fonction ne fonctionnera pas correctement.

  • Il est recommandé d'utiliser des extensions MySQLI ou PDO_MYSQL , en particulier dans PHP 7 et plus tard, l'extension MySQL a été abandonnée.

  • Lors de la jugement des versions MySQL, des expressions régulières peuvent être utilisées pour traiter davantage les informations de version complexes pour assurer la précision de la logique.

Grâce à la méthode ci-dessus, vous pouvez facilement effectuer différentes opérations en fonction de la version de MySQL dans les scripts PHP, en vous assurant que votre programme est compatible avec plusieurs versions des bases de données MySQL, améliorant ainsi la flexibilité et la robustesse du code.

  • Étiquettes associées:

    MySQL