Clean up the MySQL database connector.
This commit is contained in:
parent
05902d22d4
commit
e8561ca905
|
@ -10,38 +10,32 @@ class MySQL extends Connector {
|
||||||
*/
|
*/
|
||||||
public function connect($config)
|
public function connect($config)
|
||||||
{
|
{
|
||||||
$connection = new PDO($this->dsn($config), $config['username'], $config['password'], $this->options($config));
|
extract($config);
|
||||||
|
|
||||||
if (isset($config['charset']))
|
|
||||||
{
|
|
||||||
$connection->prepare("SET NAMES '{$config['charset']}'")->execute();
|
|
||||||
}
|
|
||||||
|
|
||||||
return $connection;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Format the DSN connection string for a MySQL connection.
|
|
||||||
*
|
|
||||||
* @param array $config
|
|
||||||
* @return string
|
|
||||||
*/
|
|
||||||
protected function dsn($config)
|
|
||||||
{
|
|
||||||
// Format the initial MySQL PDO connection string. These options are required
|
// Format the initial MySQL PDO connection string. These options are required
|
||||||
// for every MySQL connection that is established. The connection strings
|
// for every MySQL connection that is established. The connection strings
|
||||||
// have the following convention: "mysql:host=hostname;dbname=database"
|
// have the following convention: "mysql:host=hostname;dbname=database"
|
||||||
$dsn = sprintf('%s:host=%s;dbname=%s', $config['driver'], $config['host'], $config['database']);
|
$dsn = sprintf('%s:host=%s;dbname=%s', $driver, $host, $database);
|
||||||
|
|
||||||
// Check for any optional MySQL PDO options. These options are not required
|
// Check for any optional MySQL PDO options. These options are not required
|
||||||
// to establish a PDO connection; however, may be needed in certain server
|
// to establish a PDO connection; however, may be needed in certain server
|
||||||
// or hosting environments used by the developer.
|
// or hosting environments used by the developer.
|
||||||
foreach (array('port', 'unix_socket') as $key => $value)
|
foreach (array('port', 'unix_socket') as $key => $value)
|
||||||
{
|
{
|
||||||
if (isset($config[$key])) $dsn .= ";{$key}={$value}";
|
if (isset($config[$key]))
|
||||||
|
{
|
||||||
|
$dsn .= ";{$key}={$value}";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return $dsn;
|
$connection = new PDO($dsn, $username, $password, $this->options($config));
|
||||||
|
|
||||||
|
if (isset($config['charset']))
|
||||||
|
{
|
||||||
|
$connection->prepare("SET NAMES '{$charset}'")->execute();
|
||||||
|
}
|
||||||
|
|
||||||
|
return $connection;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
Loading…
Reference in New Issue