mysql_get_client_info() 的替代方法是使用 MySQL 语言中的 VERSION() 函数,例如:
<?php
$query = mysql_query("SELECT VERSION() as mysql_version");
?>
输出结果与 mysql_get_client_info() 相同。
(PHP 4 >= 4.0.5, PHP 5)
mysql_get_server_info — 获取MySQL服务器信息
此扩展在PHP 5.5.0中已弃用,并在PHP 7.0.0中移除。应该改用MySQLi或PDO_MySQL扩展。另请参见MySQL:选择API指南。此函数的替代方法包括
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
mysql_get_client_info() 的替代方法是使用 MySQL 语言中的 VERSION() 函数,例如:
<?php
$query = mysql_query("SELECT VERSION() as mysql_version");
?>
输出结果与 mysql_get_client_info() 相同。
我编写了这段代码,因为我需要一种无需实际连接即可从服务器提取 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,如果有人可以修改这里的字符串以经受时间的考验,将非常有帮助。
这样更好
<?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;
?>