Merge pull request #6612 from ajoneil/dblib-pdo

Fixes for using dblib PDO driver.
This commit is contained in:
Damian Mooyman 2017-04-18 10:19:28 +12:00 committed by GitHub
commit 9e3df22b32

View File

@ -156,9 +156,10 @@ class PDOConnector extends DBConnector {
if(!isset($charset)) {
$charset = $connCharset;
}
$options = array(
PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES ' . $charset . ' COLLATE ' . $connCollation
);
$options = array();
if($parameters['driver'] == 'mysql') {
$options[PDO::MYSQL_ATTR_INIT_COMMAND] = 'SET NAMES ' . $charset . ' COLLATE ' . $connCollation;
}
if(self::is_emulate_prepare()) {
$options[PDO::ATTR_EMULATE_PREPARES] = true;
}
@ -178,7 +179,7 @@ class PDOConnector extends DBConnector {
}
public function getVersion() {
return $this->pdoConnection->getAttribute(PDO::ATTR_SERVER_VERSION);
return @$this->pdoConnection->getAttribute(PDO::ATTR_SERVER_VERSION);
}
public function escapeString($value) {
@ -227,12 +228,12 @@ class PDOConnector extends DBConnector {
$result = $this->pdoConnection->exec($sql);
// Check for errors
if ($result !== false) {
return $this->rowCount = $result;
if($this->hasError($this->pdoConnection)) {
$this->databaseError($this->getLastError(), $errorLevel, $sql);
return null;
}
$this->databaseError($this->getLastError(), $errorLevel, $sql);
return null;
return $this->rowCount = $result;
}
public function query($sql, $errorLevel = E_USER_ERROR) {