aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/db/mysql.php
diff options
context:
space:
mode:
Diffstat (limited to 'phpBB/db/mysql.php')
-rw-r--r--phpBB/db/mysql.php19
1 files changed, 12 insertions, 7 deletions
diff --git a/phpBB/db/mysql.php b/phpBB/db/mysql.php
index 9925779e33..ba6a632b12 100644
--- a/phpBB/db/mysql.php
+++ b/phpBB/db/mysql.php
@@ -122,8 +122,13 @@ class sql_db
if ($query != '')
{
global $cache;
- if (!$expire_time || !$cache->sql_load($query))
+ if (!$expire_time || !$cache->sql_load($query, $expire_time))
{
+ if ($expire_time)
+ {
+ $cache_result = true;
+ }
+
$this->query_result = false;
$this->num_queries++;
@@ -179,18 +184,18 @@ class sql_db
$this->open_queries[] = $this->query_result;
}
+
+ if (!empty($cache_result))
+ {
+ $cache->sql_save($query, $this->query_result);
+ @mysql_free_result(array_pop($this->open_queries));
+ }
}
else
{
return false;
}
- if ($expire_time && $this->query_result)
- {
- $cache->sql_save($query, $this->query_result);
- @mysql_free_result(array_pop($this->open_queries));
- }
-
return ( $this->query_result) ? $this->query_result : false;
}