3

タイトルのとおりです - 現時点では、最初は MSSQL にあった MySQL からデータを取得するスクリプトがあります (別のスクリプトは、MSSQL データベースから情報を取得し、MySQL の保持テーブルにデータを入力します)。

これはある程度までは問題なく機能しますが、現在、MSSQL データベースから直接情報を取得したり、MySQL データベースから情報を取得したりできる段階に来ています。

PHP で MySQL と MSSQL の両方をクエリし、単一の配列で情報を返す方法はありますか?

たとえば、リンゴの 10 店舗の売上に関するすべての情報が MySQL に保持され、オレンジに関する情報が MSSQL に保持されている場合、1 つの配列で各店舗が先月販売したリンゴとオレンジの数を示すように実行できますか?

ありがとう

4

4 に答える 4

3

はい。ただし、無料では何も得られません。自分でコーディングする必要があります。例えば:

$all_data = array();

query mysql
while(fetching mysql rows) {
  $all_data[] = the mysql row;
}

query mssql
while(fetching mssql rows) {
  $all_data[] = the mssql row;
}

次に、配列を調べてデータを取得するだけです。データを構造化する方法は複数あるため、ニーズに合った配列を構築する必要があります。

PHP ライブラリには、配列を操作するための便利なツールがいくつかあります。私のお気に入りはarray_maparray_filter、およびusortです。これを匿名関数と組み合わせると、独自のフィルタリングと並べ替えを構築するための強力な基盤が得られます。

于 2012-06-06T08:05:58.207 に答える
2

2 つの接続を開始し、各接続でクエリを実行して結果を融合することを妨げるものは何もありません。

もちろん、2 つのサーバーが相互に通信して最終結果を得ることができないため、結合を実行することはできません。それはすべてあなた次第です :)

mysqliまた、非同期クエリを実行するという素晴らしい新機能を使用しない限り、合計クエリ実行時間は両方のクエリを合計した時間になります。

于 2012-06-06T08:05:04.953 に答える
2

まず、mssql と mysql の両方への接続を確立します。mssql と mysql の結果をフェッチします。次に、 を使用array_combineして 2 つの配列をマージし、1 つの配列を取得します。

于 2012-06-06T08:08:07.240 に答える