मुझे लगता है कि ऐसा इसलिए है क्योंकि जब आप पहली बार डेटाबेस कनेक्शन बंद करते हैं, तो आप यह करना भूल जाते हैं:
unset($connection);
और फिर जब आप डेटाबेस से फिर से कनेक्ट करने का प्रयास करते हैं, तो यह खराब हो जाता है क्योंकि यह अभी भी बंद कनेक्शन पर सेट है।