Jag tror att det beror på att när du stänger databasanslutningen första gången glömmer du att göra:
unset($connection);
Och sedan när du försöker ansluta till databasen igen, blir den slut eftersom den fortfarande är inställd på den stängda anslutningen.