1
0
mirror of https://github.com/dg/dibi.git synced 2025-08-19 04:11:44 +02:00

drivers implementing IDibiDriver and IDibiResultDriver together do not use $resultSet in IDibiDriver part

This commit is contained in:
David Grudl
2010-11-02 14:11:03 +01:00
parent 32baabdeac
commit 087734fb23
11 changed files with 75 additions and 51 deletions

View File

@@ -35,6 +35,9 @@ class DibiMsSql2005Driver extends DibiObject implements IDibiDriver, IDibiResult
/** @var resource Resultset resource */
private $resultSet;
/** @var int|FALSE Affected rows */
private $affectedRows = FALSE;
/**
@@ -94,14 +97,17 @@ class DibiMsSql2005Driver extends DibiObject implements IDibiDriver, IDibiResult
*/
public function query($sql)
{
$this->resultSet = sqlsrv_query($this->connection, $sql);
$this->affectedRows = FALSE;
$res = sqlsrv_query($this->connection, $sql);
if ($this->resultSet === FALSE) {
if ($res === FALSE) {
$info = sqlsrv_errors();
throw new DibiDriverException($info[0]['message'], $info[0]['code'], $sql);
}
return is_resource($this->resultSet) ? $this->createResultDriver($this->resultSet) : NULL;
} elseif (is_resource($res)) {
$this->affectedRows = sqlsrv_rows_affected($res);
return $this->createResultDriver($res);
}
}
@@ -112,7 +118,7 @@ class DibiMsSql2005Driver extends DibiObject implements IDibiDriver, IDibiResult
*/
public function getAffectedRows()
{
return sqlsrv_rows_affected($this->resultSet);
return $this->affectedRows;
}