As chances são de que seu
displayWinesList()
função echo é seus dados em vez de devolvê-los. Você pode modificar sua função para retornar os dados ou deixá-la como está e usar o buffer de saída para capturar os dados:
$to = "[email protected]";
$subject = "WineStore Query";
ob_start();
displayWinesList($connection, $query,$region_name, $wine_type, $price);
$message = ob_get_clean();
$message = '<html>'.$message.'</html>';
$from = "[email protected]";
…
Para saber com certeza, por favor, poste seu
displayWinesList()
função.