diff options
Diffstat (limited to 'phpBB/phpbb/db/driver/sqlite3.php')
-rw-r--r-- | phpBB/phpbb/db/driver/sqlite3.php | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/phpBB/phpbb/db/driver/sqlite3.php b/phpBB/phpbb/db/driver/sqlite3.php index b7f6e60337..2000acb251 100644 --- a/phpBB/phpbb/db/driver/sqlite3.php +++ b/phpBB/phpbb/db/driver/sqlite3.php @@ -136,7 +136,19 @@ class sqlite3 extends \phpbb\db\driver\driver { if (($this->query_result = @$this->dbo->query($query)) === false) { - $this->sql_error($query); + // Try to recover a lost database connection + if ($this->dbo && !@$this->dbo->lastErrorMsg()) + { + if ($this->sql_connect($this->server, $this->user, '', $this->dbname)) + { + $this->query_result = @$this->dbo->query($query); + } + } + + if ($this->query_result === false) + { + $this->sql_error($query); + } } if (defined('DEBUG')) |