2024 年 PHP Conference Japan

mysql_get_server_info

(PHP 4 >= 4.0.5, PHP 5)

mysql_get_server_info取得 MySQL 伺服器資訊

警告

此擴充功能在 PHP 5.5.0 中已被棄用,並在 PHP 7.0.0 中被移除。建議改用 MySQLiPDO_MySQL 擴充功能。另請參閱 MySQL: 選擇 API 指南。此函式的替代方案包括:

說明

mysql_get_server_info(resource $link_identifier = NULL): string|false

取得 MySQL 伺服器版本。

參數

link_identifier

MySQL 連線。如果未指定連線識別碼,則會假設使用由 mysql_connect() 開啟的最後一個連線。如果找不到這樣的連線,它會嘗試建立一個如同以無參數呼叫 mysql_connect() 一樣的新連線。如果找不到或無法建立連線,則會產生 E_WARNING 等級的錯誤。

回傳值

成功時回傳 MySQL 伺服器版本,失敗時回傳 false

範例

範例 #1 mysql_get_server_info() 範例

<?php
$link
= mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!
$link) {
die(
'無法連線: ' . mysql_error());
}
printf("MySQL 伺服器版本:%s\n", mysql_get_server_info());
?>

上述範例的輸出會類似如下:

MySQL server version: 4.0.1-alpha

參見

新增註解

使用者貢獻的註解 3 則註解

Kalle Sommer Nielsen
17 年前
mysql_get_client_info() 的替代方案是使用 MySQL 語言中的 VERSION() 函式,例如:

<?php
$query
= mysql_query("SELECT VERSION() as mysql_version");
?>

輸出結果與 mysql_get_client_info() 相同
cmscoder at seasamecreek dot info
16 年前
以下是我整理的一些程式碼,因為我需要一種在沒有實際連線的情況下從伺服器取得 MySQL 版本號的方法。這是因為它屬於 CMS 安裝前的伺服器資訊畫面的一部分。使用者需要在安裝前知道他們的 MySQL 是否受支援,對吧? :)

這段程式碼會抓取 phpinfo 頁面,尋找顯示「Client API version」的 MySQL 列,並返回其後的版本號。這也可以用於從 phpinfo 頁面抓取幾乎任何東西。 :)

ob_start();
phpinfo(INFO_MODULES);
$info = ob_get_contents();
ob_end_clean();
$info = stristr($info, 'Client API version');
preg_match('/[1-9].[0-9].[1-9][0-9]/', $info, $match);
$gd = $match[0];
echo 'MySQL: '.$gd.' <br />';

這將輸出
MySQL: 4.1.22 (這是我伺服器上的版本)

我知道這很粗糙,但這是我唯一能想到的,而且網路上也沒有任何類似資訊,所以我就把它放上來了。我不擅長 preg_match,如果有人能修改這裡的字串以適應未來的版本,將會很有幫助。
cNOooSPAMlmax1 at o2 dot pl
18 年前
這樣更好

<?php
mysql_connect
('localhost', 'user', 'password') or
die(
'無法連線:' . mysql_error());
$a = mysql_get_server_info();
$b = substr($a, 0, strpos($a, "-"));
echo
$b;
?>
To Top