From 9eb0f1422c3c65ab57de2c60651bfc331e8a6b24 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miloslav=20H=C5=AFla?= Date: Thu, 7 Sep 2017 10:41:14 +0200 Subject: [PATCH] OdbcDriver, OracleDriver, SqlsrvDriver, Sqlite3Driver: query() returns ResultSet only when contains columns --- src/Dibi/Drivers/OdbcDriver.php | 2 +- src/Dibi/Drivers/OracleDriver.php | 2 +- src/Dibi/Drivers/Sqlite3Driver.php | 2 +- src/Dibi/Drivers/SqlsrvDriver.php | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/Dibi/Drivers/OdbcDriver.php b/src/Dibi/Drivers/OdbcDriver.php index 8c14d41..9bf9a01 100644 --- a/src/Dibi/Drivers/OdbcDriver.php +++ b/src/Dibi/Drivers/OdbcDriver.php @@ -106,7 +106,7 @@ class OdbcDriver implements Dibi\Driver, Dibi\ResultDriver, Dibi\Reflector } elseif (is_resource($res)) { $this->affectedRows = Dibi\Helpers::false2Null(odbc_num_rows($res)); - return $this->createResultDriver($res); + return odbc_num_fields($res) ? $this->createResultDriver($res) : null; } return null; } diff --git a/src/Dibi/Drivers/OracleDriver.php b/src/Dibi/Drivers/OracleDriver.php index 8b3d5a0..8e83069 100644 --- a/src/Dibi/Drivers/OracleDriver.php +++ b/src/Dibi/Drivers/OracleDriver.php @@ -117,7 +117,7 @@ class OracleDriver implements Dibi\Driver, Dibi\ResultDriver, Dibi\Reflector } elseif (is_resource($res)) { $this->affectedRows = Dibi\Helpers::false2Null(oci_num_rows($res)); - return $this->createResultDriver($res); + return oci_num_fields($res) ? $this->createResultDriver($res) : null; } } else { $err = oci_error($this->connection); diff --git a/src/Dibi/Drivers/Sqlite3Driver.php b/src/Dibi/Drivers/Sqlite3Driver.php index b7a7cc6..2c832b3 100644 --- a/src/Dibi/Drivers/Sqlite3Driver.php +++ b/src/Dibi/Drivers/Sqlite3Driver.php @@ -115,7 +115,7 @@ class Sqlite3Driver implements Dibi\Driver, Dibi\ResultDriver if ($code = $this->connection->lastErrorCode()) { throw self::createException($this->connection->lastErrorMsg(), $code, $sql); - } elseif ($res instanceof \SQLite3Result) { + } elseif ($res instanceof \SQLite3Result && $res->numColumns()) { return $this->createResultDriver($res); } return null; diff --git a/src/Dibi/Drivers/SqlsrvDriver.php b/src/Dibi/Drivers/SqlsrvDriver.php index e4d9634..0a2588c 100644 --- a/src/Dibi/Drivers/SqlsrvDriver.php +++ b/src/Dibi/Drivers/SqlsrvDriver.php @@ -116,7 +116,7 @@ class SqlsrvDriver implements Dibi\Driver, Dibi\ResultDriver } elseif (is_resource($res)) { $this->affectedRows = Helpers::false2Null(sqlsrv_rows_affected($res)); - return $this->createResultDriver($res); + return sqlsrv_num_fields($res) ? $this->createResultDriver($res) : null; } return null; }