diff options
Diffstat (limited to 'phpBB/includes')
-rw-r--r-- | phpBB/includes/db/firebird.php | 2 | ||||
-rw-r--r-- | phpBB/includes/db/mssql.php | 5 | ||||
-rw-r--r-- | phpBB/includes/db/mssql_odbc.php | 2 |
3 files changed, 6 insertions, 3 deletions
diff --git a/phpBB/includes/db/firebird.php b/phpBB/includes/db/firebird.php index 21e8052a9a..b78d9afefe 100644 --- a/phpBB/includes/db/firebird.php +++ b/phpBB/includes/db/firebird.php @@ -90,6 +90,8 @@ class dbal_firebird extends dbal { global $cache; + $query = preg_replace('#FROM \(([^)]*)\)(,|[\n\r\t ]+(?:WHERE|LEFT JOIN)) #', 'FROM \1\2 ', $query); + $this->last_query_text = $query; $this->query_result = ($cache_ttl && method_exists($cache, 'sql_load')) ? $cache->sql_load($query) : false; diff --git a/phpBB/includes/db/mssql.php b/phpBB/includes/db/mssql.php index cd11b683a3..3a750a2847 100644 --- a/phpBB/includes/db/mssql.php +++ b/phpBB/includes/db/mssql.php @@ -272,11 +272,10 @@ class dbal_mssql extends dbal $result_id = @mssql_query('SELECT @@IDENTITY', $this->db_connect_id); if ($result_id) { - if (@mssql_fetch_assoc($result_id)) + if ($row = @mssql_fetch_assoc($result_id)) { - $id = @mssql_result($result_id, 1); @mssql_free_result($result_id); - return $id; + return $row['computed']; } @mssql_free_result($result_id); } diff --git a/phpBB/includes/db/mssql_odbc.php b/phpBB/includes/db/mssql_odbc.php index 362083f2d9..bfefa04bf1 100644 --- a/phpBB/includes/db/mssql_odbc.php +++ b/phpBB/includes/db/mssql_odbc.php @@ -100,6 +100,8 @@ class dbal_mssql_odbc extends dbal { $this->sql_report('start', $query); } + + $query = preg_replace('#FROM \(([^)]*)\)(,|[\n\r\t ]+(?:WHERE|LEFT JOIN)) #', 'FROM \1\2 ', $query); $this->last_query_text = $query; $this->query_result = ($cache_ttl && method_exists($cache, 'sql_load')) ? $cache->sql_load($query) : false; |