BUGFIX MySQLDatabaseConfigurationHelper::getVersion() will fallback to trying to get the version using a query if mysql_get_server_info() returns nothing

git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/branches/2.4@106071 467b73ca-7a2a-4603-9d3b-597d59a354a9
This commit is contained in:
Sean Harvey 2010-06-02 05:40:20 +00:00 committed by Sam Minnee
parent c27c9eb22f
commit 7cc9709123

View File

@ -42,9 +42,24 @@ class MySQLDatabaseConfigurationHelper implements DatabaseConfigurationHelper {
);
}
/**
* Get the database version for the MySQL connection, given the
* database parameters.
* @return mixed string Version number as string | boolean FALSE on failure
*/
public function getDatabaseVersion($databaseConfig) {
$conn = @mysql_connect($databaseConfig['server'], null, null);
return @mysql_get_server_info($conn);
$conn = @mysql_connect($databaseConfig['server'], $databaseConfig['username'], $databaseConfig['password']);
if(!$conn) return false;
$version = @mysql_get_server_info($conn);
if(!$version) {
// fallback to trying a query
$result = @mysql_query("SELECT VERSION()");
$row = @mysql_fetch_array($result);
if($row && isset($row[0])) {
$version = trim($row[0]);
}
}
return $version;
}
/**