diff --git a/phpBB/db/mysql.php b/phpBB/db/mysql.php index fe18cffa89..8433deb7d8 100644 --- a/phpBB/db/mysql.php +++ b/phpBB/db/mysql.php @@ -210,7 +210,6 @@ class sql_db } // 20030406 Ashe: switched up $total and $offset as per MySQL manual - // Note for other DBALs: if $total == -1 we only want to set an offset (no pun intended) function sql_query_limit($query, $total, $offset = 0, $expire_time = 0) { if ($query != '') @@ -218,6 +217,12 @@ class sql_db $this->query_result = false; $this->num_queries++; + // if $total is set to 0 we do not want to limit the number of rows + if ($total == 0) + { + $total = -1; + } + $query .= ' LIMIT ' . ((!empty($offset)) ? "$offset, $total" : $total); return $this->sql_query($query, $expire_time); diff --git a/phpBB/mcp.php b/phpBB/mcp.php index 5032dc5a4d..7df646c6a9 100644 --- a/phpBB/mcp.php +++ b/phpBB/mcp.php @@ -641,6 +641,8 @@ switch ($mode) AND p.poster_id = u.user_id $limit_posts_time ORDER BY $sort_order"; + + $start = ($posts_per_page == 0) ? 0 : $start; $result = $db->sql_query_limit($sql, $posts_per_page, $start); $i = 0; @@ -941,7 +943,7 @@ switch ($mode) $limit_posts_time ORDER BY $sort_order"; } - $result = $db->sql_query_limit($sql, -1, $start); + $result = $db->sql_query_limit($sql, 0, $start); $post_id_list = array(); while ($row = $db->sql_fetchrow($result))