А зачем тут foreach я чё-то не понял. Сделайте запрос 1 раз, результаты запроса в массив и выведите их из массива циклом уже как вам надо.
Потом при чём тут файл? PDO это прослойка для работы с MySQL (и не только)
$stmt = $db->prepare("SELECT * FROM `table` WHERE `name` = :name");
$stmt->bindParam(':name', $name_file);
$stmt->execute();
$arr = $stmt->fetchAll(PDO::FETCH_ASSOC);
$Num = count($arr);
Чему равен $Num столько у вас и совпадений. Взял этот код из рабочего проекта.