Non e' necessario usare un singleton per riutilizzare una connessione, basta fare piu' query usando lo stesso oggetto $db.
Poi per un singleton e' necessario solo UN metodo statico: quello che restituisce un'istanza della classe, il resto dei metodi e delle proprieta' non ha senso che siano statici (se usi solo metodi e proprieta' statiche di fatto non usi nemmeno un'istanza della classe, ma usi la classe come una libreria di funzioni e variabili globali con un prefisso).