From adba7d471583537fb20c18dca08c571909171aeb Mon Sep 17 00:00:00 2001
From: Tristan Darricau <github@nicofuma.fr>
Date: Sun, 22 Jun 2014 19:34:02 +0200
Subject: [ticket/12387] mssql_query return true if a select query returns 0
 row

PHPBB3-12387
---
 phpBB/phpbb/db/driver/mssql.php | 14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)

(limited to 'phpBB/phpbb/db/driver/mssql.php')

diff --git a/phpBB/phpbb/db/driver/mssql.php b/phpBB/phpbb/db/driver/mssql.php
index 14a9fd938c..0809703b48 100644
--- a/phpBB/phpbb/db/driver/mssql.php
+++ b/phpBB/phpbb/db/driver/mssql.php
@@ -163,7 +163,7 @@ class mssql extends \phpbb\db\driver\driver
 					$this->open_queries[(int) $this->query_result] = $this->query_result;
 					$this->query_result = $cache->sql_save($this, $query, $this->query_result, $cache_ttl);
 				}
-				else if (strpos($query, 'SELECT') === 0 && $this->query_result)
+				else if (strpos($query, 'SELECT') === 0 && $this->query_result !== true)
 				{
 					$this->open_queries[(int) $this->query_result] = $this->query_result;
 				}
@@ -238,7 +238,7 @@ class mssql extends \phpbb\db\driver\driver
 			return $cache->sql_fetchrow($query_id);
 		}
 
-		if (!$query_id)
+		if (!$query_id || $query_id === true)
 		{
 			return false;
 		}
@@ -269,6 +269,11 @@ class mssql extends \phpbb\db\driver\driver
 			$query_id = $this->query_result;
 		}
 
+		if ($query_id === true)
+		{
+			return false;
+		}
+
 		if ($cache && $cache->sql_exists($query_id))
 		{
 			return $cache->sql_rowseek($rownum, $query_id);
@@ -308,6 +313,11 @@ class mssql extends \phpbb\db\driver\driver
 			$query_id = $this->query_result;
 		}
 
+		if ($query_id === true)
+		{
+			return false;
+		}
+
 		if ($cache && !is_object($query_id) && $cache->sql_exists($query_id))
 		{
 			return $cache->sql_freeresult($query_id);
-- 
cgit v1.2.1