PHP Conference Japan 2024

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(资源 $link_identifier = NULL): 字符串|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 页面,查找显示客户端 API 版本的 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(
'Could not connect: ' . mysql_error());
$a = mysql_get_server_info();
$b = substr($a, 0, strpos($a, "-"));
echo
$b;
?>
To Top