代码之家  ›  专栏  ›  技术社区  ›  Jason Lewis

如何比较PHP中的MySQL版本?

  •  8
  • Jason Lewis  · 技术社区  · 16 年前

    好吧,我的MySQL版本是这样的:

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

    这给了我一个数字,比如:5.1.36

    那很好。我要做的是,把这个版本和另一个版本进行比较。我正要写函数来比较它们,这时我想到 version_compare()

    这是我测试的:

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

    5.1.36 < 5.1.4

    我假设这是真的,5.1.36小于5.1.4。我的理由是,我认为5.1.4实际上是5.1.40而不是5.1.04。也许我错了。

    那么,是我的想法不对,还是函数返回的结果不正确?

    4 回复  |  直到 16 年前
        1
  •  8
  •   ircmaxell    16 年前

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

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

    所以5.1.36是5.1小版本的第36次修订版。。。因此,5.1.4将是第4版(因此36>4)...

        2
  •  3
  •   Your Common Sense    16 年前
        3
  •  2
  •   racerror    16 年前

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

    主版本*10000+次版本 *100+子版本(即4.1.0版为40100)。

        4
  •  0
  •   Simon    16 年前

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

    是的,5.1.36大于5.1.4。

    推荐文章