2016-08-04 24 views
1

msqli_query()を使用して複数のデータベース(arround 30)接続を使用するにはどうすればよいですか。 $query = msqli_query($conn,"select * from user where province_id = '5'")のような私のクエリ。 だから今ここで私は、すべてのケースの$値については、以下のコードでは、スイッチケースmysqli_queryを使用して複数のデータベースを使用するには?

と機能を使用して、すべてのデータベースは、配列から発見されているようでCONN $を使用したい....

function allDatabase($value) { 
switch ($value) { 
case "1": 
    $conn = new mysqli("localhost", "root", "", "$db"); 
    return $conn; 
    break; 
case "2": 
    $conn = new mysqli("localhost", "root", "", "$db1");  
    return $conn; 
    break; 
case "3": 
    $conn = new mysqli("localhost", "root", "", "$db2");  
    return $conn; 
    break; 
case "4": 
    $conn = new mysqli("localhost", "root", "", "$db3");  
    return $conn; 
    break; 
default: 
    echo ""; 
} 
} 

私はできません私のクエリのすべてのデータベースを使用して.... 私はこれらのすべての私のクエリで接続し、すべてのデータベースからの結果を得ることができます。 簡単な言葉では、「すべてのユーザーが1つのクエリですべてのデータベースを使用したい」。事前に

おかげ

+0

は、すべてのものがここにmsqli_query'タイプミス '以外 – Saty

+0

正しいしかし、私のクエリは、すべてのデータベースから得られるフェッチできません。すべてのユーザに現在のデータベースのみを与えます – Isha

+0

'$ db'はどこに割り当てられていますか?ここで設定されていないように見えます。または範囲外です。 – chris85

答えて

0

使用

function makeConnection($dbName) { 
    $conn = new mysqli("localhost", "root", "", "$dbName"); 
    return $conn; 
} 

$allResult = array(); 

foreach ($arr as $key=>$value) { 
    $conn = makeConnection($value); 
    $query = msqli_query($conn,"select * from user where province_id = '5'"); 
    $result = fetchDataFromSqlArray($query); 
    $allResult = array_merge($allResult, $result); 
} 
+1

@isha ..はい。これはあなたができる方法です。データベースごとにユーザー名とパスワードが異なる場合は、 "$ arr"をdb名、ユーザー名、パスワードで多次元配列として定義し、forループ内で使用できます。 – user10

+0

foreachループをforループで置き換えることはできますか?$ key $ではなく$ iでprovince_idが必要です。クエリは$ i時間実行する必要があります。 forループを試しましたが、正しく動作していません.... – Isha

+0

はいできます。正確なクエリはここに入力してください。私はお手伝いいたします –

関連する問題