2012-01-21 10 views
1

私はPHPとMySQLを使用してウェブサイトを設計しています。 Webページの場合、複数のソースからデータを取得しています。今、私は多くのWebページに共通の関数にデータを渡しています。データを使用する関数は、データベースに再度照会し、得られた結果を生成する。問題は、共通関数がデータベースを暗黙的に参照していないことです。私が渡すデータは2つのデータベースのうちの1つから来るので、関数はデータベースの1つのデータを探し、それが利用できない場合にはnullを返します。今、私は2つのデータベースを検索する関数を変更する場合、影響を受ける他のページがあります。同じ回避策があるかどうか知りたいですか?複数のデータソースから共通の機能にデータを渡すには

答えて

0

あなたが例えば2つのデータベース間でUNIONDOCsを行うことができます

SELECT id, title FROM database_one.table_name WHERE id = $id 
UNION 
SELECT id, title FROM database_two.table_name WHERE id = $id 

これはあなたに1つのクエリでは、両方のSQL文の結果が得られます。このようにして、両方のデータベースの両方のテーブルから条件に一致するすべてのレコードを取得します。

UNIONは両方のステートメントが同じ数の列を返すようにするため、*ワイルドカードの代わりに指定した理由があります。

一意のレコードしか戻さないようにするには(同じレコードが両方のデータベースに表示される可能性があります)、DISTINCT修飾子を使用できます。

関連する問題