diff --git a/lib/grade/grade_object.php b/lib/grade/grade_object.php index 6f4ba0610da..2978ccde3a6 100644 --- a/lib/grade/grade_object.php +++ b/lib/grade/grade_object.php @@ -184,20 +184,21 @@ abstract class grade_object { } global $DB; - if ($datas = $DB->get_records_select($table, $wheresql, $newparams)) { - - $result = array(); - foreach($datas as $data) { - $instance = new $classname(); - grade_object::set_properties($instance, $data); - $result[$instance->id] = $instance; - } - return $result; - - } else { - - return false; + $rs = $DB->get_recordset_select($table, $wheresql, $newparams); + //returning false rather than empty array if nothing found + if (!$rs->valid()) { + return false; } + + $result = array(); + foreach($rs as $data) { + $instance = new $classname(); + grade_object::set_properties($instance, $data); + $result[$instance->id] = $instance; + } + $rs->close(); + + return $result; } /**