diff options
author | Andrey Andreev <narf@devilix.net> | 2016-05-19 17:51:25 +0200 |
---|---|---|
committer | Andrey Andreev <narf@devilix.net> | 2016-05-19 17:51:25 +0200 |
commit | 45520a5a0b57490e1c8c5e031bce61e0dc4851e5 (patch) | |
tree | e6a887ee40b5c1e410be771e8e460272c63febc2 /system/database/drivers/oci8 | |
parent | b076b5651c028e1c92f8d1bfad0f27a13839378a (diff) |
[ci skip] Fix #4637
Diffstat (limited to 'system/database/drivers/oci8')
-rw-r--r-- | system/database/drivers/oci8/oci8_driver.php | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/system/database/drivers/oci8/oci8_driver.php b/system/database/drivers/oci8/oci8_driver.php index 59f0e8456..60fab7578 100644 --- a/system/database/drivers/oci8/oci8_driver.php +++ b/system/database/drivers/oci8/oci8_driver.php @@ -559,23 +559,29 @@ class CI_DB_oci8_driver extends CI_DB { */ public function error() { - /* oci_error() returns an array that already contains the - * 'code' and 'message' keys, so we can just return it. - */ + // oci_error() returns an array that already contains + // 'code' and 'message' keys, but it can return false + // if there was no error .... if (is_resource($this->curs_id)) { - return oci_error($this->curs_id); + $error = oci_error($this->curs_id); } elseif (is_resource($this->stmt_id)) { - return oci_error($this->stmt_id); + $error = oci_error($this->stmt_id); } elseif (is_resource($this->conn_id)) { - return oci_error($this->conn_id); + $error = oci_error($this->conn_id); + } + else + { + $error = oci_error(); } - return oci_error(); + return is_array($error) + ? $error + : array('code' => '', 'message'); } // -------------------------------------------------------------------- |