2017-08-29 3 views
1

こんばんはに指定されたホストを使用していない私は、私の設定ファイルの2つのデータベース接続を有するものが内部であることと、もう一つは、外部にあるものに苦労しようとしてきました。PHP PDOのMySQL - 、</p> <p>をDSN

$DB_host = '127.0.0.1'; 
$DB_port = '3306'; 
$DB_name = 'users'; 
$DB_user = 'root'; 
$DB_pass = 'obliquous'; 

$DB2_host = '123.123.123.123'; 
$DB2_port = '3306'; 
$DB2_name = 'pancakeshop'; 
$DB2_user = 'potato_shop'; 
$DB2_pass = 'ambiguous'; 

try 
{ 
    $db = new PDO("mysql:host={$DB_host};dbname={$DB_name}",$DB_user,$DB_pass); 
    $db2 = new PDO("mysql:host={$DB2_host};dbname={$DB2_name}",$DB2_user,$DB2_pass); 
    $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
    $db2->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
} 
catch(PDOException $e) 
{ 
    echo $e->getMessage(); 
    die(); 
} 

私は127.0.0.1でやった1 - 123.123.123.123と1は、それがローカルIPアドレスの代わりに使用しています、が、期待通りに働いている - 私は専用のサーバー用に指定したローカルホストを意味します外部のもの。

185.113.141.125は、PHPサーバーが実行されている専用サーバーです。

それは次のようだ私に与えられていますエラー:

SQLSTATEは、[HY000] [1045]アクセスは、(パスワードを使用して:YES)、 'potato_shop'@'185.113.141.125' ユーザのために拒否された

コードの構文に間違いはありますか?

+0

*に権限権限を持つユーザーを作成した場合

は<*「ではなく、外部1のローカルIPアドレスを使用しています123.123.123.123を持つ1」シンプルに** not **はこれをすべて示します – Phil

+0

固定@Phil私は専用のサーバーIPアドレスを意味しました。 –

+0

'$ db2'接続がローカルIPを使用していることを示唆しているものはまだありません。 **あなたがしようとしていること、あなたが見たいもの、実際に見ているものを正確に**明らかにしてください。 * "dedicatedServerIP" *のような単語は使用しないでください。表示されているエラーメッセージを表示します。 IPアドレスのような詳細を難読化する必要がある場合は、**あなたのサンプルコードで同じ変更を加えてください** – Phil

答えて

1

これは、root accounts is only for the localhost host(少なくともウィンドウ内)です。エラーメッセージはありません - あなたは、単にpancakeshop

CREATE USER 'not_root'@'123.123.123.123' IDENTIFIED BY 'ambiguous'; 

GRANT ALL PRIVILEGES ON pancakeshop.* To 'not_root'@'123.123.123.123' IDENTIFIED BY 'ambiguous'; 
FLUSH PRIVILEGES; 
+0

私は別のものを持ってみましょう...それはrootアカウントではなく、悪い例でした。 –

+0

@JoãoRodriguesはうまく動作するかどうか教えてください。 –

+0

それは動作しないままです。 –