aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndreas Fischer <bantu@phpbb.com>2011-10-13 23:45:04 +0200
committerAndreas Fischer <bantu@phpbb.com>2011-10-13 23:45:04 +0200
commit301f9d42f78aba2a036d8adcfa418f70fc4ec1bf (patch)
tree863d6395eaf3e510a800c21044b5257bb807e499
parent8c7be51bccca429a694fa774d7a3a394b8ec3007 (diff)
parent4e69fe68590cca0db66cc90af12e74c58bac10be (diff)
downloadforums-301f9d42f78aba2a036d8adcfa418f70fc4ec1bf.tar
forums-301f9d42f78aba2a036d8adcfa418f70fc4ec1bf.tar.gz
forums-301f9d42f78aba2a036d8adcfa418f70fc4ec1bf.tar.bz2
forums-301f9d42f78aba2a036d8adcfa418f70fc4ec1bf.tar.xz
forums-301f9d42f78aba2a036d8adcfa418f70fc4ec1bf.zip
Merge branch 'develop-olympus' into develop
* develop-olympus: [ticket/10307] Add a test for PHPBB3-10307 [ticket/10307] Return false in mysqli sql_fetchrow on empty result
-rw-r--r--phpBB/includes/db/mysqli.php8
-rw-r--r--tests/dbal/select_test.php18
2 files changed, 24 insertions, 2 deletions
diff --git a/phpBB/includes/db/mysqli.php b/phpBB/includes/db/mysqli.php
index db3846e7f7..d2781e96dd 100644
--- a/phpBB/includes/db/mysqli.php
+++ b/phpBB/includes/db/mysqli.php
@@ -249,7 +249,13 @@ class dbal_mysqli extends dbal
return $cache->sql_fetchrow($query_id);
}
- return ($query_id !== false) ? @mysqli_fetch_assoc($query_id) : false;
+ if ($query_id !== false)
+ {
+ $result = @mysqli_fetch_assoc($query_id);
+ return $result !== null ? $result : false;
+ }
+
+ return false;
}
/**
diff --git a/tests/dbal/select_test.php b/tests/dbal/select_test.php
index e0d08d9306..8ddd27465d 100644
--- a/tests/dbal/select_test.php
+++ b/tests/dbal/select_test.php
@@ -319,7 +319,7 @@ class phpbb_dbal_select_test extends phpbb_database_test_case
$db->sql_freeresult($result);
}
- function test_nested_transactions()
+ public function test_nested_transactions()
{
$db = $this->new_dbal();
@@ -341,4 +341,20 @@ class phpbb_dbal_select_test extends phpbb_database_test_case
$this->assertEquals('1', $row['user_id']);
}
+
+ /**
+ * fix for PHPBB3-10307
+ */
+ public function test_sql_fetchrow_returns_false_when_empty()
+ {
+ $db = $this->new_dbal();
+
+ $sql = 'SELECT * FROM (SELECT 1) AS TBL WHERE 1 = 0';
+ $result = $db->sql_query($sql);
+
+ $row = $db->sql_fetchrow($result);
+ $db->sql_freeresult($result);
+
+ $this->assertSame(false, $row);
+ }
}