/** * * @param databox $databox * @param integer $original_name * @param integer $caseSensitive * @param integer $offset_start * @param integer $how_many * * @return array */ public static function get_records_by_originalname(databox $databox, $original_name, $caseSensitive = false, $offset_start = 0, $how_many = 10) { $offset_start = (int) ($offset_start < 0 ? 0 : $offset_start); $how_many = (int) ($how_many > 20 || $how_many < 1 ? 10 : $how_many); $sql = sprintf('SELECT record_id FROM record WHERE originalname = :original_name ' . ($caseSensitive ? 'COLLATE utf8_bin' : 'COLLATE utf8_unicode_ci') . ' LIMIT %d, %d', $offset_start, $how_many); $stmt = $databox->get_connection()->prepare($sql); $stmt->execute([':original_name' => $original_name]); $rs = $stmt->fetchAll(PDO::FETCH_ASSOC); $stmt->closeCursor(); $records = []; foreach ($rs as $row) { $records[] = $databox->get_record($row['record_id']); } return $records; }