ホームページ  >  記事  >  バックエンド開発  >  PHPMyAdmin にデータベースが存在するのに、PHP でデータベースに接続できないのはなぜですか?

PHPMyAdmin にデータベースが存在するのに、PHP でデータベースに接続できないのはなぜですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-10-30 05:04:02122ブラウズ

Why Can't I Connect to a Database in PHP When It Exists in PHPMyAdmin?

PHPMyAdmin に存在するにもかかわらず PHP で発生した不明なデータベース エラーのトラブルシューティング

データベースが PHPMyAdmin に表示されているにもかかわらず、PHP データベース接続の問題が発生する可能性があります。考えられる原因の 1 つは、PHP コードで指定されたデータベース名のスペル ミスです。 PHP コードと PHPMyAdmin の両方のスペルを再確認することが重要です。

もう 1 つの潜在的な問題は、PHP コードと PHPMyAdmin が別々のデータベース インスタンスに接続する場合です。この状況は、複数のデータベース サーバーがインストールされている環境で発生する可能性があります。これを確認するには、PHPMyAdmin で次のクエリを実行します:

show databases;

その後、PDO または MySQLi を使用して PHP で同じクエリを実行します:

PDO:

<code class="php">$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);</code>

MySQLi:

<code class="php">$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);</code>

両方のクエリの出力を比較します。それらが異なる場合は、スペル ミスか別のデータベース接続を示します。次に、PHPMyAdmin の構成ファイルを調べて、適切なサーバーに接続していることを確認します。

以上がPHPMyAdmin にデータベースが存在するのに、PHP でデータベースに接続できないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。