/** * Utility function to turn a result set into an associative array of records * This method turns a result set into a hash of records (keyed by the first * field in the result set) * * @param ADORecordSet $rs An ADODB RecordSet object. * @return mixed An array of objects, or false if the RecordSet was empty. * @throws SQLException * @access private */ function recordset_to_assoc(ADORecordSet $rs) { if ($rs && $rs->RecordCount() > 0) { // First of all, we are going to get the name of the first column // to introduce it back after transforming the recordset to assoc array // See http://docs.moodle.org/en/XMLDB_Problems, fetch mode problem. $firstcolumn = $rs->FetchField(0); // Get the whole associative array if ($records = $rs->GetAssoc(true)) { foreach ($records as $key => $record) { $record[$firstcolumn->name] = $key; $objects[$key] = (object) $record; } return $objects; } else { return false; } } else { return false; } }