diff --git a/src/Dibi/Drivers/OdbcDriver.php b/src/Dibi/Drivers/OdbcDriver.php index 6ba663d5..6d325356 100644 --- a/src/Dibi/Drivers/OdbcDriver.php +++ b/src/Dibi/Drivers/OdbcDriver.php @@ -108,7 +108,7 @@ class OdbcDriver implements Dibi\Driver, Dibi\ResultDriver, Dibi\Reflector } elseif (is_resource($res)) { $this->affectedRows = 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 598799fe..9c2fbfec 100644 --- a/src/Dibi/Drivers/OracleDriver.php +++ b/src/Dibi/Drivers/OracleDriver.php @@ -123,7 +123,7 @@ class OracleDriver implements Dibi\Driver, Dibi\ResultDriver, Dibi\Reflector } elseif (is_resource($res)) { $this->affectedRows = 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 203ca1fa..3b6586b4 100644 --- a/src/Dibi/Drivers/Sqlite3Driver.php +++ b/src/Dibi/Drivers/Sqlite3Driver.php @@ -117,7 +117,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 469216ec..1800d89b 100644 --- a/src/Dibi/Drivers/SqlsrvDriver.php +++ b/src/Dibi/Drivers/SqlsrvDriver.php @@ -120,7 +120,7 @@ class SqlsrvDriver implements Dibi\Driver, Dibi\ResultDriver } elseif (is_resource($res)) { $this->affectedRows = sqlsrv_rows_affected($res); - return $this->createResultDriver($res); + return sqlsrv_num_fields($res) ? $this->createResultDriver($res) : null; } return null; }