2016-05-18 8 views
1

私はどのように私は2つの異なるMYSQLデータベース接続名を同じページに置くことができます、1つはローカルPC用であり、1つはホスティングサーバーです。どのようにmysqlデータベース接続名を設定する

アップロード前にスクリプト内の接続データベース名を変更しないように、同じページに2つの異なるデータベースサーバー名を付けることは可能ですか?

私は

<?php 
$username = "your_name"; 
$password = "your_password"; 
$hostname = "localhost"; 

//connection to the database 
$dbhandle = mysql_connect($hostname, $username, $password) 
    or die("Unable to connect to MySQL"); 
echo "Connected to MySQL<br>"; 
?> 

iは、接続データベースを変更することなく、同じページで、サーバー内の別の接続名を追加することができ、ローカルPCのために、このようなコードを持っています!

alidad

+3

**警告**:あなたが使用している[**時代遅れ**データベースAPI](のhttp://のstackoverflow。 com/q/12859942/19068)は**最新バージョンのPHPから完全に削除されています**。 [現代的な代替品](http://php.net/manual/en/mysqlinfo.api.choosing.php)を使用してください。 – Quentin

+0

あなたは正確に何をしようとしていますか?同じサーバー上の2つの異なるデータベースに接続するには?あなたの言葉は紛らわしいものです –

答えて

2

はい、単一のページにはできるだけ多くの異なるサーバに照会することができる:

<?php 
$server1 = new mysqli("server1.example.com", "user1", "password1", "database1");  
$server2 = new mysqli("server2.example.com", "user2", "password2", "database2"); 

$result = $server1->query("SELECT 'Hello user' AS _message FROM DUAL"); 
$row = $result->fetch_assoc(); 
echo htmlentities($row['_message']); 

$result = $server2->query("SELECT 'Hello user' AS _message FROM DUAL"); 
$row = $result->fetch_assoc(); 
echo htmlentities($row['_message']); 
0

方法は、あなたのローカルホストでconfig.iniファイル、および本番環境で異なるものを持っていることです。この方法でこのファイルを解析し、資格情報を取得します。

それを行うには良い方法は、このライブラリを使用している:https://github.com/vlucas/phpdotenv

それは同じように基本的に動作しますが、保守が容易です。必要に応じて

関連する問題