prima di usare la variabile $db devi sempre dichiararla esplicitamente come global:
GLOBAL $db;
...
perchè altrimenti viene interpretata come variabile locale...
In pratica tu fai l'inizializzazion del db la prima volta con i comandi classici e poi ogni volta che ti serve puntare a $db la dichiari prima.