好的,所以我得到了我的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。也许我错了。
所以我想错了,或者函数返回错误的结果?
答案 0 :(得分:8)
功能正确。编号系统是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。