ホームページ >バックエンド開発 >PHPチュートリアル >私の PHP コードが PHPMyAdmin に存在するデータベースを見つけられないのはなぜですか?

私の PHP コードが PHPMyAdmin に存在するデータベースを見つけられないのはなぜですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-01 07:24:02414ブラウズ

Why Can't My PHP Code Find a Database That Exists in PHPMyAdmin?

PHP でのデータベース接続の問題のトラブルシューティング

PHP を使用して MySQL データベースに接続すると、新しく作成されたデータベースを扱うときに問題が発生することがあります。この記事では、PHPMyAdmin には存在するが PHP には存在しないデータベースに PDO を使用して接続するときに発生する一般的なエラーについて説明します。

根本原因を理解するには、次の 2 つの可能性を考慮することが重要です。

  1. スペル エラー: PHP コードと PHPMyAdmin 内のデータベース名を確認して、潜在的なスペル ミスを排除してください。
  2. データベース サーバーの不一致: PHPMyAdmin とPHP は異なるデータベース サーバーにアクセスしています。これを確認するには、PHPMyAdmin で次のクエリを実行します:
<code class="sql">show databases;</code>

次に、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 の構成ファイルを調べて、正しいサーバーが指定されていることを確認してください。

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

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