Votre code et votre phpmyadmin sont simplement connectés à différents serveurs de base de données . Cela peut arriver, par exemple, si vous avez installé plusieurs serveurs de base de données sur votre PC.
Pour obtenir une preuve, exécutez la requête suivante dans phpmyadmin :
show databases;
Et lancez ensuite la même requête dans 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);
et comparer la sortie. Cela vous indiquera soit qu'il y a une faute d'orthographe, soit que phpmyadmin et PHP sont connectés à des serveurs de base de données différents.
Ensuite, vous pouvez vérifier le fichier de configuration dans PHPmyAdmin pour vous assurer qu'il se connecte au bon serveur