Szanse to Twój displayWinesList() funkcja echo ma swoje dane zamiast je zwracać.
Możesz zmodyfikować swoją funkcję, aby zwrócić dane lub pozostawić je bez zmian i użyć buforowania wyjścia do przechwytywania danych:
$to = "example@sqldat.com";
$subject = "WineStore Query";
ob_start();
displayWinesList($connection, $query,$region_name, $wine_type, $price);
$message = ob_get_clean();
$message = '<html>'.$message.'</html>';
$from = "example@sqldat.com";
…
Aby mieć pewność, jednak opublikuj swoją displayWinesList() funkcja.