コードとphpmyadminは、単に異なるデータベースサーバーに接続している 。たとえば、PCに複数のデータベースサーバーがインストールされている場合に発生する可能性があります。
証明を取得するには、phpmyadminで次のクエリを実行します。
show databases;
次に、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);
または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);
出力を比較します。スペルミスがあるか、実際にphpmyadminとPHPが異なるデータベースサーバーに接続されていることが表示されます。
次に、PHPmyAdminの構成ファイルをチェックして、適切なサーバーに接続していることを確認できます