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 .