Su código y su phpmyadmin simplemente están conectándose a diferentes servidores de bases de datos . Podría suceder, por ejemplo, si tiene varios servidores de bases de datos instalados en su PC.
Para obtener una prueba, ejecute la siguiente consulta en phpmyadmin:
show databases;
Y luego ejecute la misma consulta en 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);
o 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);
y comparar la salida. Le mostrará que hay un error ortográfico o que phpmyadmin y PHP están conectados a diferentes servidores de bases de datos.
Luego puede verificar el archivo de configuración en PHPmyAdmin para asegurarse de que se conecte al servidor adecuado