diff options
| author | Oleg Pudeyev <oleg@bsdpower.com> | 2011-03-07 09:09:40 -0500 |
|---|---|---|
| committer | Oleg Pudeyev <oleg@bsdpower.com> | 2011-03-07 09:09:40 -0500 |
| commit | 020d06cdaac13372feef615b8689ad2526733243 (patch) | |
| tree | e1532b5490120138871f7293912067b4df97a4e3 /phpBB/includes/db | |
| parent | 7acbf98692dfe4b3bf1ca103a1fa90d7f51d3c1b (diff) | |
| download | forums-020d06cdaac13372feef615b8689ad2526733243.tar forums-020d06cdaac13372feef615b8689ad2526733243.tar.gz forums-020d06cdaac13372feef615b8689ad2526733243.tar.bz2 forums-020d06cdaac13372feef615b8689ad2526733243.tar.xz forums-020d06cdaac13372feef615b8689ad2526733243.zip | |
[ticket/10057] Handle the case of missing interbase extension better.
PHPBB3-10057
Diffstat (limited to 'phpBB/includes/db')
| -rw-r--r-- | phpBB/includes/db/firebird.php | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/phpBB/includes/db/firebird.php b/phpBB/includes/db/firebird.php index fb820b4894..6786edb964 100644 --- a/phpBB/includes/db/firebird.php +++ b/phpBB/includes/db/firebird.php @@ -498,8 +498,24 @@ class dbal_firebird extends dbal */ function _sql_error() { + // Need special handling here because ibase_errmsg returns + // connection errors, however if the interbase extension + // is not installed then ibase_errmsg does not exist and + // we cannot call it. + if (function_exists('ibase_errmsg')) + { + $msg = @ibase_errmsg(); + if (!$msg) + { + $msg = $this->connect_error; + } + } + else + { + $msg = $this->connect_error; + } return array( - 'message' => @ibase_errmsg(), + 'message' => $msg, 'code' => (@function_exists('ibase_errcode') ? @ibase_errcode() : '') ); } |
