如何在PHP中比较MySQL版本?

时间:2010-06-30 17:50:41

标签: php mysql version compare

好的,所以我得到了我的MySQL版本:

preg_replace('#[^0-9\.]#', '', mysql_get_server_info());

这给了我一个如下数字:5.1.36

这一切都很好。我需要做的是将该版本与另一个版本进行比较。当我想到version_compare()时,我正打算尝试编写我的函数来比较它们。但是,经过测试我变得不确定,但也许我只是不确定MySQL版本号如何工作。

这是我测试的:

version_compare('5.1.36', '5.1.4', '<');

5.1.36 < 5.1.4

我认为这将返回true,5.1.36小于5.1.4。我的理由是,我认为5.1.4实际上是5.1.40而不是5.1.04。也许我错了。

所以我想错了,或者函数返回错误的结果?

4 个答案:

答案 0 :(得分:8)

功能正确。编号系统是M.m.r,其中每个“数字”是十进制数。

  • M是主要版本号
  • m是次要版本号
  • r是修订号

因此5.1.36将是5.1次要版本的修订版36 ...因此,5.1.4将是修订版4(因此36> 4)......

答案 1 :(得分:3)

答案 2 :(得分:2)

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

mysqli的get_server_version()方法会将版本作为整数返回。

  

main_version * 10000 + minor_version   * 100 + sub_version(即版本4.1.0是40100)。

答案 3 :(得分:0)

  

我认为这会回归真实,   5.1.36小于5.1.4。我的   原因是,我认为5.1.4是   实际上是5.1.40而不是5.1.04。也许   我错了。

是的,5.1.36大于5.1.4。