9
votes

Comment puis-je comparer les versions MySQL dans PHP?

D'accord, alors je reçois ma version mysql comme: xxx

qui me donne un numéro comme: 5.1.36

C'est tout bon. Ce que je dois faire, c'est comparer cette version avec une autre version. J'étais sur le point d'essayer d'écrire ma fonction pour les comparer, quand j'ai pensé à version_compare () . Cependant, lors des tests, je suis devenu incertain, mais je ne suis peut-être pas sûr de savoir comment les numéros de version MySQL fonctionnent.

C'est ce que j'ai testé:

version_compare ('5.1. 36 ',' 5.1.4 ',' <');

ou

5.1.36 <5.1.4

J'ai supposé que cela reviendrait vrai, que 5.1.36 est inférieur à 5.1.4. Ma raison pour cela est que la figure 5.1.4 est en réalité 5.1.40 non 5.1.04. Peut-être que je me trompe là-bas.

alors je pense mal, ou est la fonction qui renvoie le résultat incorrect?


0 commentaires

4 Réponses :


0
votes

J'ai supposé que cela reviendrait vrai, que 5.1.36 est inférieur à 5.1.4. Mon la raison pour laquelle c'est, je figure 5.1.4 est en fait 5.1.40 non 5.1.04. Peut-être Je me trompe là.

Oui, 5.1.36 est supérieur à 5.1.4.


0 commentaires

8
votes

La fonction est correcte. Le système de numérotation est m.m.r où chaque "numéro" est un nombre décimal.

  • m est le numéro de version majeur
  • m est le numéro de version mineur
  • r est le numéro de révision

    SO 5.1.36 serait la révision 36 de la version 5.1 mineure ... Par conséquent, 5.1.4 serait la révision 4 (et donc 36> 4) ...


1 commentaires

Excellent. Cela résume très bien pour moi. Quelque chose de totalement nouveau pour moi. Merci beaucoup ircmaxell. :)



2
votes

http://www.php.net/manual /en/mysqli.get-serverver-version.php

La méthode GET_SERVER_VERSION () de MySQLI renvoie la version comme un entier.

Main_Version * 10000 + Minor_version * 100 + Sub_version (c'est-à-dire la version 4.1.0 est 40100).


1 commentaires

Jason Lewis utilise mysql_get_server_info et non mysqli_get_server_version .



3
votes