diff --git a/lib/navigationlib.php b/lib/navigationlib.php index 5adc4ff7ad9..6ba84f9869b 100644 --- a/lib/navigationlib.php +++ b/lib/navigationlib.php @@ -1632,13 +1632,15 @@ class global_navigation extends navigation_node { // have been loaded $addedcategories = $this->addedcategories; unset($addedcategories[$categoryid]); - list($sql, $params) = $DB->get_in_or_equal(array_keys($addedcategories), SQL_PARAMS_NAMED, 'parent', false); - if ($showbasecategories) { - // We need to include categories with parent = 0 as well - $sqlwhere .= " AND (cc.parent = :categoryid OR cc.parent = 0) AND cc.parent {$sql}"; - } else { - // All we need is categories that match the parent - $sqlwhere .= " AND cc.parent = :categoryid AND cc.parent {$sql}"; + if (count($addedcategories) > 0) { + list($sql, $params) = $DB->get_in_or_equal(array_keys($addedcategories), SQL_PARAMS_NAMED, 'parent', false); + if ($showbasecategories) { + // We need to include categories with parent = 0 as well + $sqlwhere .= " AND (cc.parent = :categoryid OR cc.parent = 0) AND cc.parent {$sql}"; + } else { + // All we need is categories that match the parent + $sqlwhere .= " AND cc.parent = :categoryid AND cc.parent {$sql}"; + } } $params['categoryid'] = $categoryid; } else {