W przypadku PDO NIE należy wykonywać USE dbname
bezpośrednio.
Myślę, że co się dzieje, że masz wiele wystąpień skryptu PHP i kiedy każdy z nich wykonuje USE dbname
bez PDO świadomości, że to się dzieje, a to powoduje cały bałagan.
Zamiast tego należy określić nazwę dbname w ciągu połączenia PDO, np. 'mysql:host=localhost;dbname=testdb'
. Oznacza to, że nie możesz naprawdę przełączać się między bazami danych po utworzeniu klasy Model. Powinieneś znać nazwę swojej bazy danych z góry i używać jej w konstruktorze modelu.
Przeczytaj więcej w dokumentacji PDO .