aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--phpBB/db/mssql.php11
1 files changed, 6 insertions, 5 deletions
diff --git a/phpBB/db/mssql.php b/phpBB/db/mssql.php
index af3736e531..849c8f26a5 100644
--- a/phpBB/db/mssql.php
+++ b/phpBB/db/mssql.php
@@ -121,10 +121,11 @@ class sql_db
// you do will potentially impact performance
// compared to an 'in-built' limit
//
- if(eregi(" LIMIT ", $query))
+ if(eregi("LIMIT", $query))
{
- eregi("^([a-zA-Z0-9 \*\,\'\"\+\?\.\(\)]+) LIMIT ([0-9]+)[, ]*([0-9]+)*", $query, $limits);
-
+
+ eregi("^([[:alnum:] \*\,\'\"\+\?\.\(\)_=[:cntrl:]]+) LIMIT ([0-9]+)[, ]*([0-9]+)*", $query, $limits);
+
$query = $limits[1];
if($limits[3])
{
@@ -298,7 +299,7 @@ class sql_db
if($this->query_limit_success[$query_id])
{
empty($this->rowset);
- while($this->rowset = mssql_fetch_array($query_id))
+ while($this->rowset = @mssql_fetch_array($query_id))
{
$result[] = $this->rowset;
}
@@ -306,7 +307,7 @@ class sql_db
else if($this->query_limit_numrows[$query_id] == -1)
{
empty($this->rowset);
- while($this->rowset = @mssql_fetch_array($this->query_result))
+ while($this->rowset = @mssql_fetch_array($query_id))
{
$result[] = $this->rowset;
}