2010-06-30 7 views
8

ठीक है, तो मैं बहुत तरह मेरे MySQL संस्करण हो रही है:मैं PHP में MySQL संस्करणों की तुलना कैसे कर सकता हूं?

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

कौन सा मेरे जैसे एक संख्या देता है: यह सब अच्छा है 5.1.36

। मुझे क्या करना है, उस संस्करण की तुलना किसी अन्य संस्करण से करें। जब मैं version_compare() के बारे में सोचा था, तो मैं उनकी तुलना करने के लिए अपने कार्य को लिखने का प्रयास करने वाला था। हालांकि, परीक्षण पर मैं अनिश्चित हो गया, लेकिन शायद मुझे यकीन नहीं है कि MySQL संस्करण संख्या कैसे काम करती है। कि 5.1.36 5.1.4 से भी कम है

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

या

5.1.36 < 5.1.4

मैं मान लिया है कि यह सच हो जाएंगे:

यह मैं क्या परीक्षण किया है। इसके लिए मेरा कारण यह है कि, मुझे लगता है कि 5.1.4 वास्तव में 5.1.40 5.1.04 नहीं है। शायद मैं वहां गलत हूँ।

तो क्या मैं गलत सोच रहा हूं, या गलत परिणाम लौटने वाला फ़ंक्शन है?

उत्तर

8

फ़ंक्शन सही है। संख्या प्रणाली एमएमआर है जहां प्रत्येक "संख्या" एक दशमलव संख्या है।

  • एम प्रमुख संस्करण संख्या
  • मीटर लघु संस्करण संख्या
  • आर संशोधन संख्या

तो 5.1.36 5.1 लघु संस्करण में संशोधन 36 होगा है .. । इसलिए, 5.1.4 संशोधन 4 (और इसलिए 36> 4) होगा ...

+0

बहुत बढ़िया। यह मेरे लिए बहुत अच्छी तरह से बताता है। मेरे लिए बिल्कुल नया कुछ। बहुत बहुत धन्यवाद ircmaxell। :) –

-1

मुझे लगता है कि यह सच होगा, कि 5.1.36 5.1.4 से कम है। मेरा इसका कारण है, मुझे लगता है कि 5.1.4 वास्तव में 5.1.40 5.1.04 नहीं है। शायद मैं वहां गलत हूँ।

हां, 5.1.36 5.1.4 से अधिक है।

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 है)।

+0

जेसन लुईस 'mysql_get_server_info' का उपयोग कर रहा है और' mysqli_get_server_version' नहीं है। – Gumbo

संबंधित मुद्दे