Für PDO sollten Sie USE dbname
NICHT ausführen direkt.
Ich denke, was passiert, dass Sie mehrere Instanzen von PHP-Skripten haben und wenn jede USE dbname
ausführt ohne dass PDO sich dessen bewusst ist, und dies verursacht ein ganzes Durcheinander.
Stattdessen sollten Sie dbname in Ihrer PDO-Verbindungszeichenfolge wie 'mysql:host=localhost;dbname=testdb'
angeben . Das bedeutet, dass Sie nach dem Erstellen Ihrer Modellklasse nicht wirklich zwischen Datenbanken wechseln können. Sie sollten Ihren Datenbanknamen im Voraus kennen und ihn im Modellkonstruktor verwenden.
Lesen Sie mehr in der PDO-Dokumentation .