Para PDO, NO debe ejecutar USE dbname
directamente.
Creo que lo que sucede es que tiene varias instancias de script PHP, y cuando cada una ejecuta USE dbname
sin que PDO se dé cuenta de que está sucediendo, y esto causa todo un lío.
En su lugar, debe especificar dbname en su cadena de conexión PDO como 'mysql:host=localhost;dbname=testdb'
. Eso significa que realmente no puede cambiar entre bases de datos después de crear su clase Modelo. Debe conocer el nombre de su base de datos por adelantado y usarlo en el constructor de modelos.
Obtenga más información en la documentación de PDO .