Seu código e seu phpmyadmin estão simplesmente conectando-se a diferentes servidores de banco de dados . Isso pode acontecer, por exemplo, se você tiver vários servidores de banco de dados instalados em seu PC.
Para obter uma prova, execute a seguinte consulta no phpmyadmin:
show databases;
E, em seguida, execute a mesma consulta no PDO:
$host = 'your db host';
$user = 'your db username';
$pass = 'your db password';
$pdo = new PDO("mysql:host=$host", $user, $pass, [PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION]);
$databases = $pdo->query('show databases')->fetchAll(PDO::FETCH_COLUMN);
var_dump($databases);
ou mysqli
$host = 'your db host';
$user = 'your db username';
$pass = 'your db password';
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = mysqli_connect($host, $user, $pass);
$databases = $mysqli->query('show databases')->fetch_all();
var_dump($databases);
e compare a saída. Ele mostrará que há um erro de ortografia ou, de fato, o phpmyadmin e o PHP estão conectados a diferentes servidores de banco de dados.
Então você pode verificar o arquivo de configuração no PHPmyAdmin para ter certeza de que ele se conecta ao servidor adequado