2012-01-24 21 views
1

私の要件は、2つのデータベースを照会することです。両方のデータベースが異なるホストにあります。私は2つのデータベース接続con1とconを作成しました。クエリがcon1に対してnullを返すと、conからデータをフェッチします。しかし、コードは期待どおりに動作していません。同じことについての助けがあれば幸いです。 con1を通して接続されたデータベースのために同じデータが存在しないにもかかわらず、予約番号を取得しているリソースID#18を取得しています。 助けてください。PHPの複数データベース接続

これは私がPHPで書いたコードです。

$get_bookings = mysql_query($SqlQry,$con1); 

if (!$get_bookings) 
{ 
    $get_bookings = mysql_query($SqlQry,$con); 
} 

データには両方の接続がアクティブである必要があり、相互に排他的です。

+0

'if(!$ get_bookings)'の代わりに 'if($ get_bookings!= null)'を試してみましょう –

+0

私が理解できれば、 '$ con1'は' false'を返します。スクリプトは ' id#18 'を返すconを返します。私は何が欠けていますか? – Frankie

+0

私は$ get_bookingsをエコーし​​ました。私はcon1のためにnullを返し、次に内部に入るようにクエリをハードコードしました。問題は、データベース1にデータが存在しない場合でもID#18を返すことです。つまり、con1 – user938588

答えて

0

実際に必要になるまで、2番目の/バックアップデータベースにのみ接続します。また)あなたが戻って、クエリの使用はmysql_num_rows(からの結果を得たかどうかを確認したい場合は

if (mysql_num_rows($get_bookings) > 0) //do something with results 
+0

いいえ、データが相互に排他的であるため、両方の接続をアクティブにする必要はありません。 – user938588

+0

次にデータを取得し、接続を閉じて新しい接続を開きます。最初の接続から2番目の接続から1番目と2番目の接続を取得しないでください。 – jakx

0

あなたがチェックしていない「のmysql_queryはエラーがない場合に結果がない場合はfalseを返します」あなたが思っているのはあなたのチェックだ。クエリで実行されたかどうかを確認するだけです。データが返されたかどうかを確認するには、mysql_num_rowsのようなものが必要です。

関連する問題