PHP 개발에서는 종종 다른 버전을 기반으로 특정 작업을 수행하려면 MySQL 데이터베이스의 버전을 확인해야합니다. MySQL 데이터베이스의 버전은 특정 SQL 쿼리, 기능 또는 기능에 영향을 줄 수 있으므로 PHP 스크립트를 작성할 때 MySQL 버전을 기반으로 프로그램 동작을 동적으로 조정하는 방법을 아는 것이 중요합니다.
이 기사에서는 PHP 스크립트를 통해 mysql_get_server_info 함수를 사용하여 MySQL 버전을 확인하고 버전 정보를 기반으로 해당 작업을 수행하는 방법을 소개합니다.
mysql_get_server_info는 MySQL 데이터베이스 서버의 버전 정보를 얻을 수있는 PHP의 내장 기능입니다. 이 기능은 PHP 5.X 및 이전 MySQL 확장에서 사용할 수 있지만 PHP 7 이후에는 MySQL 확장이 포기되었으며 MySQLI 또는 PDO_MYSQL 확장자를 사용하는 것이 좋습니다.
먼저 MySQL 데이터베이스에 올바르게 연결되어 있는지 확인하십시오. 연결이 성공하면 MySQL_GET_SERVER_INFO 함수를 호출하여 서버 버전 정보를 얻을 수 있습니다.
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// 연결하십시오 MySQL 데이터 베이스</span></span><span>
</span><span><span class="hljs-variable">$connection</span></span><span> = </span><span><span class="hljs-title function_ invoke__">mysql_connect</span></span><span>(</span><span><span class="hljs-string">'localhost'</span></span><span>, </span><span><span class="hljs-string">'root'</span></span><span>, </span><span><span class="hljs-string">'password'</span></span><span>);
</span><span><span class="hljs-keyword">if</span></span><span> (!</span><span><span class="hljs-variable">$connection</span></span><span>) {
</span><span><span class="hljs-keyword">die</span></span><span>(</span><span><span class="hljs-string">'无法연결하십시오데이터 베이스: '</span></span><span> . </span><span><span class="hljs-title function_ invoke__">mysql_error</span></span><span>());
}
</span><span><span class="hljs-comment">// 얻다 MySQL 버전 정보</span></span><span>
</span><span><span class="hljs-variable">$mysql_version</span></span><span> = </span><span><span class="hljs-title function_ invoke__">mysql_get_server_info</span></span><span>(</span><span><span class="hljs-variable">$connection</span></span><span>);
</span><span><span class="hljs-comment">// 산출 MySQL 버전</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"현재의 MySQL 버전是: "</span></span><span> . </span><span><span class="hljs-variable">$mysql_version</span></span><span>;
</span><span><span class="hljs-comment">// 关闭데이터 베이스连接</span></span><span>
</span><span><span class="hljs-title function_ invoke__">mysql_close</span></span><span>(</span><span><span class="hljs-variable">$connection</span></span><span>);
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>앞에서 언급했듯이 MySQL_GET_SERVER_INFO는 쓸모없는 기능이므로 대신 MySQLI 확장자를 사용하는 것이 좋습니다. MySQLI Extension에서 MySQL 버전을 얻는 방법은 다음과 같습니다.
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// 연결하십시오 MySQL 데이터 베이스</span></span><span>
</span><span><span class="hljs-variable">$connection</span></span><span> = </span><span><span class="hljs-title function_ invoke__">mysqli_connect</span></span><span>(</span><span><span class="hljs-string">'localhost'</span></span><span>, </span><span><span class="hljs-string">'root'</span></span><span>, </span><span><span class="hljs-string">'password'</span></span><span>);
</span><span><span class="hljs-keyword">if</span></span><span> (!</span><span><span class="hljs-variable">$connection</span></span><span>) {
</span><span><span class="hljs-keyword">die</span></span><span>(</span><span><span class="hljs-string">'无法연결하십시오데이터 베이스: '</span></span><span> . </span><span><span class="hljs-title function_ invoke__">mysqli_connect_error</span></span><span>());
}
</span><span><span class="hljs-comment">// 얻다 MySQL 버전 정보</span></span><span>
</span><span><span class="hljs-variable">$mysql_version</span></span><span> = </span><span><span class="hljs-title function_ invoke__">mysqli_get_server_info</span></span><span>(</span><span><span class="hljs-variable">$connection</span></span><span>);
</span><span><span class="hljs-comment">// 산출 MySQL 버전</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"현재의 MySQL 버전是: "</span></span><span> . </span><span><span class="hljs-variable">$mysql_version</span></span><span>;
</span><span><span class="hljs-comment">// 关闭데이터 베이스连接</span></span><span>
</span><span><span class="hljs-title function_ invoke__">mysqli_close</span></span><span>(</span><span><span class="hljs-variable">$connection</span></span><span>);
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>MySQL 버전 정보를 얻은 후 버전 번호에 따라 다른 작업을 수행 할 수 있습니다. 예를 들어, 일부 기능은 더 높은 버전의 MySQL로 제공 될 수 있지만 더 낮은 버전으로 사용할 수 없습니다. 조건부 명세서를 사용하여 MySQL 버전을 확인하고 다른 버전에 따라 다른 작업을 수행 할 수 있습니다.
다음은 MySQL 버전 번호를 기반으로 특정 기능을 사용하는지 결정하는 방법을 보여주는 예입니다.
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// 연결하십시오 MySQL 데이터 베이스</span></span><span>
</span><span><span class="hljs-variable">$connection</span></span><span> = </span><span><span class="hljs-title function_ invoke__">mysqli_connect</span></span><span>(</span><span><span class="hljs-string">'localhost'</span></span><span>, </span><span><span class="hljs-string">'root'</span></span><span>, </span><span><span class="hljs-string">'password'</span></span><span>);
</span><span><span class="hljs-keyword">if</span></span><span> (!</span><span><span class="hljs-variable">$connection</span></span><span>) {
</span><span><span class="hljs-keyword">die</span></span><span>(</span><span><span class="hljs-string">'无法연결하십시오데이터 베이스: '</span></span><span> . </span><span><span class="hljs-title function_ invoke__">mysqli_connect_error</span></span><span>());
}
</span><span><span class="hljs-comment">// 얻다 MySQL 버전 정보</span></span><span>
</span><span><span class="hljs-variable">$mysql_version</span></span><span> = </span><span><span class="hljs-title function_ invoke__">mysqli_get_server_info</span></span><span>(</span><span><span class="hljs-variable">$connection</span></span><span>);
</span><span><span class="hljs-comment">// 심판 MySQL 버전</span></span><span>
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">version_compare</span></span><span>(</span><span><span class="hljs-variable">$mysql_version</span></span><span>, </span><span><span class="hljs-string">'5.7'</span></span><span>, </span><span><span class="hljs-string">'>='</span></span><span>)) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"MySQL 버전为 5.7 또는 더 높습니다,새로운 기능을 사용할 수 있습니다。"</span></span><span>;
</span><span><span class="hljs-comment">// 새로운 기능 관련 작업을 수행합니다</span></span><span>
} </span><span><span class="hljs-keyword">else</span></span><span> {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"MySQL 버전低于 5.7,执行旧버전操作。"</span></span><span>;
</span><span><span class="hljs-comment">// 执行旧버전相关操作</span></span><span>
}
</span><span><span class="hljs-comment">// 关闭데이터 베이스连接</span></span><span>
</span><span><span class="hljs-title function_ invoke__">mysqli_close</span></span><span>(</span><span><span class="hljs-variable">$connection</span></span><span>);
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>version_compare는 두 버전 번호를 비교하기위한 매우 실용적인 PHP 기능입니다. 세 가지 값을 반환합니다.
첫 번째 버전 번호가 두 번째 버전 번호보다 큰 경우 리턴 1;
두 버전 번호가 같으면 반환 0;
첫 번째 버전 번호가 두 번째 버전 번호보다 작은 경우 -1을 반환하십시오.
이렇게하면 MySQL 버전을 기반으로 다른 작업을 수행 할 수있는 유연성을 가질 수 있습니다.
mysql_get_server_info 또는 mysqli_get_server_info 함수를 사용하는 경우 먼저 PHP와 MySQL 데이터베이스 간의 연결이 성공했는지 확인해야합니다. 그렇지 않으면 기능이 제대로 작동하지 않습니다.
MySQLI 또는 PDO_MYSQL 확장, 특히 PHP 7 이후에는 MySQL 확장이 버려졌습니다.
MySQL 버전을 판단 할 때는 일반 표현식을 사용하여 복잡한 버전 정보를 추가로 처리하여 논리의 정확성을 보장 할 수 있습니다.
위의 방법을 통해 PHP 스크립트의 MySQL 버전을 기반으로 다양한 작업을 쉽게 수행하여 프로그램이 여러 버전의 MySQL 데이터베이스와 호환되어 코드 유연성 및 견고성을 향상시킬 수 있습니다.
관련 태그:
MySQL