BUGFIX Updating MySQLDatabaseConfigurationHelper to check for MySQLi

instead of mysql_connect and other old function usage, as we've moved to
MySQLi in MySQLDatabase.php now
This commit is contained in:
Sean Harvey 2012-04-28 12:13:58 +12:00
parent c7ca63e0d1
commit b03cf04dbd
2 changed files with 15 additions and 15 deletions

View File

@ -8,7 +8,7 @@ DatabaseAdapterRegistry::register(
'class' => 'MySQLDatabase', 'class' => 'MySQLDatabase',
'title' => 'MySQL 5.0+', 'title' => 'MySQL 5.0+',
'helperPath' => $frameworkPath . '/dev/install/MySQLDatabaseConfigurationHelper.php', 'helperPath' => $frameworkPath . '/dev/install/MySQLDatabaseConfigurationHelper.php',
'supported' => function_exists('mysql_connect'), 'supported' => class_exists('MySQLi'),
) )
); );

View File

@ -18,7 +18,7 @@ class MySQLDatabaseConfigurationHelper implements DatabaseConfigurationHelper {
* @return boolean * @return boolean
*/ */
public function requireDatabaseFunctions($databaseConfig) { public function requireDatabaseFunctions($databaseConfig) {
return (function_exists('mysql_connect')) ? true : false; return class_exists('MySQLi');
} }
/** /**
@ -29,12 +29,12 @@ class MySQLDatabaseConfigurationHelper implements DatabaseConfigurationHelper {
public function requireDatabaseServer($databaseConfig) { public function requireDatabaseServer($databaseConfig) {
$success = false; $success = false;
$error = ''; $error = '';
$conn = @mysql_connect($databaseConfig['server'], $databaseConfig['username'], $databaseConfig['password']); $conn = new MySQLi($databaseConfig['server'], $databaseConfig['username'], $databaseConfig['password']);
if($conn || mysql_errno() < 2000) { if($conn && $conn->connect_errno < 2000) {
$success = true; $success = true;
} else { } else {
$success = false; $success = false;
$error = mysql_error(); $error = ($conn) ? $conn->connect_error : '';
} }
return array( return array(
'success' => $success, 'success' => $success,
@ -48,13 +48,13 @@ class MySQLDatabaseConfigurationHelper implements DatabaseConfigurationHelper {
* @return mixed string Version number as string | boolean FALSE on failure * @return mixed string Version number as string | boolean FALSE on failure
*/ */
public function getDatabaseVersion($databaseConfig) { public function getDatabaseVersion($databaseConfig) {
$conn = @mysql_connect($databaseConfig['server'], $databaseConfig['username'], $databaseConfig['password']); $conn = new MySQLi($databaseConfig['server'], $databaseConfig['username'], $databaseConfig['password']);
if(!$conn) return false; if(!$conn) return false;
$version = @mysql_get_server_info($conn); $version = $conn->server_info;
if(!$version) { if(!$version) {
// fallback to trying a query // fallback to trying a query
$result = @mysql_query("SELECT VERSION()"); $result = $conn->query('SELECT VERSION()');
$row = @mysql_fetch_array($result); $row = $result->fetch_array();
if($row && isset($row[0])) { if($row && isset($row[0])) {
$version = trim($row[0]); $version = trim($row[0]);
} }
@ -93,12 +93,12 @@ class MySQLDatabaseConfigurationHelper implements DatabaseConfigurationHelper {
public function requireDatabaseConnection($databaseConfig) { public function requireDatabaseConnection($databaseConfig) {
$success = false; $success = false;
$error = ''; $error = '';
$conn = @mysql_connect($databaseConfig['server'], $databaseConfig['username'], $databaseConfig['password']); $conn = new MySQLi($databaseConfig['server'], $databaseConfig['username'], $databaseConfig['password']);
if($conn) { if($conn) {
$success = true; $success = true;
} else { } else {
$success = false; $success = false;
$error = mysql_error(); $error = ($conn) ? $conn->connect_error : '';
} }
return array( return array(
'success' => $success, 'success' => $success,
@ -116,13 +116,13 @@ class MySQLDatabaseConfigurationHelper implements DatabaseConfigurationHelper {
public function requireDatabaseOrCreatePermissions($databaseConfig) { public function requireDatabaseOrCreatePermissions($databaseConfig) {
$success = false; $success = false;
$alreadyExists = false; $alreadyExists = false;
$conn = @mysql_connect($databaseConfig['server'], $databaseConfig['username'], $databaseConfig['password']); $conn = new MySQLi($databaseConfig['server'], $databaseConfig['username'], $databaseConfig['password']);
if(@mysql_select_db($databaseConfig['database'], $conn)) { if($conn && $conn->select_db($databaseConfig['database'])) {
$success = true; $success = true;
$alreadyExists = true; $alreadyExists = true;
} else { } else {
if(@mysql_query("CREATE DATABASE testing123", $conn)) { if($conn && $conn->query('CREATE DATABASE testing123')) {
mysql_query("DROP DATABASE testing123", $conn); mysql_query('DROP DATABASE testing123', $conn);
$success = true; $success = true;
$alreadyExists = false; $alreadyExists = false;
} }