diff options
author | thomascube <thomas@roundcube.net> | 2007-03-13 22:53:26 +0000 |
---|---|---|
committer | thomascube <thomas@roundcube.net> | 2007-03-13 22:53:26 +0000 |
commit | e6c7c3ca9381aa10f7147544cd93f6179d32f359 (patch) | |
tree | ea25a1d2310ea7e5e367780deeaee960526a7b96 /program/include/rcube_db.inc | |
parent | 6ce04b1f7f15e8f8e79641787650a354f99b28de (diff) |
Fixed bugs in rcube_db and rcube_imap classes
Diffstat (limited to 'program/include/rcube_db.inc')
-rwxr-xr-x | program/include/rcube_db.inc | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/program/include/rcube_db.inc b/program/include/rcube_db.inc index a01b38dd6..f17605a74 100755 --- a/program/include/rcube_db.inc +++ b/program/include/rcube_db.inc @@ -293,14 +293,16 @@ class rcube_db { case 'pgsql': $result = &$this->db_handle->getOne("SELECT CURRVAL('$sequence')"); - - case 'mssql': - $result = &$this->db_handle->getOne("SELECT @@IDENTITY"); - if (DB::isError($result)) raise_error(array('code' => 500, 'type' => 'db', 'line' => __LINE__, 'file' => __FILE__, 'message' => $result->getMessage()), TRUE, FALSE); + return $result; + case 'mssql': + $result = &$this->db_handle->getOne("SELECT @@IDENTITY"); + if (DB::isError($result)) + raise_error(array('code' => 500, 'type' => 'db', 'line' => __LINE__, 'file' => __FILE__, + 'message' => $result->getMessage()), TRUE, FALSE); return $result; case 'mysql': // This is unfortuneate @@ -308,7 +310,7 @@ class rcube_db case 'mysqli': return mysqli_insert_id($this->db_handle->connection); - + case 'sqlite': return sqlite_last_insert_rowid($this->db_handle->connection); @@ -358,7 +360,7 @@ class rcube_db */ function _fetch_row($result, $mode) { - if (DB::isError($result)) + if (!$result || DB::isError($result)) { raise_error(array('code' => 500, 'type' => 'db', 'line' => __LINE__, 'file' => __FILE__, 'message' => $this->db_link->getMessage()), TRUE, FALSE); |