Per PDO, NON dovresti eseguire USE dbname direttamente.
Penso che stia succedendo che tu abbia più istanze di script PHP e quando ognuna esegue USE dbname senza che PDO sia consapevole di ciò che sta accadendo, e questo provoca un intero pasticcio.
Invece, dovresti specificare dbname nella tua stringa di connessione PDO come 'mysql:host=localhost;dbname=testdb' . Ciò significa che non puoi davvero passare da un database all'altro dopo aver creato la tua classe Model. Dovresti conoscere il nome del tuo database in anticipo e usarlo nel costruttore del modello.
Maggiori informazioni nella documentazione PDO .