diff options
author | Andreas Fischer <bantu@phpbb.com> | 2011-10-13 23:45:04 +0200 |
---|---|---|
committer | Andreas Fischer <bantu@phpbb.com> | 2011-10-13 23:45:04 +0200 |
commit | 301f9d42f78aba2a036d8adcfa418f70fc4ec1bf (patch) | |
tree | 863d6395eaf3e510a800c21044b5257bb807e499 | |
parent | 8c7be51bccca429a694fa774d7a3a394b8ec3007 (diff) | |
parent | 4e69fe68590cca0db66cc90af12e74c58bac10be (diff) | |
download | forums-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.php | 8 | ||||
-rw-r--r-- | tests/dbal/select_test.php | 18 |
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); + } } |