Pro PDO byste NEMĚLI spustit USE dbname
přímo.
Myslím, že to, co se děje, že máte více instancí PHP skriptu, a když každá z nich spustí USE dbname
aniž by si PDO uvědomovalo, že se to děje, a to způsobuje celý nepořádek.
Místo toho byste měli zadat dbname ve vašem připojovacím řetězci PDO jako 'mysql:host=localhost;dbname=testdb'
. To znamená, že po vytvoření třídy Model skutečně nemůžete přepínat mezi databázemi. Měli byste předem znát název databáze a použít jej v konstruktoru modelu.
Přečtěte si více v dokumentaci CHOP .