3

Godaddy Windowsホスティングでデータベースに簡単にmysqli接続しています。コードは次のとおりです。

<?php 

        error_reporting(E_ALL & ~(E_STRICT|E_NOTICE));

            $host = 'localhost'; 
            $user = 'root_user_name'; 
            $password = 'root_user_pass'; 
            $db = 'my_database'; 
            $cxn = mysqli_connect($host,$user,$password) or 
                     die(mysqli_connect_error()); // <<<<<< line 9
            mysqli_select_db($cxn, $db ) or die(mysqli_connect_error()); 


        die('test');

付与されたユーザー名とパスワード、およびデータベース名は確かです。資格情報はすべて適切ですが、次のエラーが発生しています。

警告: mysqli_connect(): (HY000/1045): G:\path\to\file\index.php 行 9 のユーザー 'root_user_name'@'localhost' (パスワードを使用: YES) のアクセスが拒否されました ユーザー ' のアクセスが拒否されましたroot_user_name'@'localhost' (パスワードを使用: YES)

wampサーバーを使用して、同じデータベース名と資格情報を使用してlocalhostでこれを機能させました.IISサーバーとWindowsホスティングにはあまり興味がありません..どんな助けでも大歓迎です。

4

3 に答える 3

6

私はかつてこの問題を抱えていましたが、データベースに接続するときにホストでデータベースサーバーの実際の IP アドレスを設定することで簡単に解決しました。IP アドレスを取得するには、ホスティング アカウントにログインしてデータベースにアクセスし、必要なデータベースの管理をクリックすると、phpMyAdmin に移動します。右側にはDatabase Serverというタイトルのブロックがあり、最初のリスト項目でサーバーの IP アドレスを見つけることができます。$hostlocalhost ではなく自分で使用します。

 $host = '51.51.51.51'; // <<<< just a fake IP address for the example

何が問題なのかを突き止めるのにかなりの時間を費やしました。サポートに連絡したところ、次のような返信がありました。

Joshua - アクセス許可が問題の原因だと思います。それらを適切に更新すると、問題は解決するはずです。

彼らは、ファイルのアクセス許可が問題である可能性があると述べました。ファイルのアクセス許可を更新しましたが、解決しませんでした。

解決策は、あなたが考えているよりもはるかに近い場合があります!!

于 2015-07-22T16:58:00.107 に答える
1

新しい MySQL データベース セットアップ フォームは、大文字と小文字の混合文字をデータベース名/ユーザー名として受け入れ、サイレントに小文字に変換します。phpMyAdmin のログインでは大文字と小文字が区別されるため、正しいユーザー名を入力していることを確認するために、コントロール センターからコピーして phpMyAdmin に貼り付けることができます。

于 2015-07-18T18:11:08.410 に答える
0

それは暗闇の中でのちょっとした刺し傷です。hostただし、mysql のユーザー テーブルで定義されている実際の値を確認する必要があります。WAMP ソリューションが ipv4 ( 127.0.0.1) 経由で localhost に接続されている可能性があります。現在のサーバーは ipv6 を使用しています ( ::1)。接続に使用するユーザーには、データベースサーバーで定義されたものと同じアドレスが必要です。これを確認する簡単な方法は、これらの資格情報を持つ 3 人のユーザーがデータベースに存在することを確認すること127.0.0.1です::1localhost

于 2015-07-18T17:56:55.343 に答える