2012-05-04 11 views
1

PHP SDKを使用してfql multyクエリを作成しようとしています。これは私のコードPHP SDKを使用してfqlマルチクエリを作成する方法

try { 
    $fql = array( 
     "query1" => "SELECT uid2 FROM friend WHERE uid1 = me()", 
     "query2" => "SELECT name, url, pic FROM profile WHERE id IN (SELECT uid2 FROM #query1)" 
    ); 
    //$fql = "SELECT uid2 FROM friend WHERE uid1 = me()"; 
    // Proceed knowing you have a logged in user who's authenticated. 
    $user_profile = $facebook->api(array(
     'method' => 'fql.multiquery', 
     'query' => $fql, 
    )); 
} catch (FacebookApiException $e) { 
    error_log(print_r($e->getMessage(), true)); 
    $user = NULL; 
} 

であり、これは常にメッセージなし

[04-月 - 2012年午後08時22分26秒UTC] PHPのお知らせと例外を返します:未定義のプロパティ: FacebookApiException :: $ C:\ Program FilesのgetMessage \ Zend \ Apache2 \ htdocs \ wordpress \ wp-content \ plugins \オールインワンイベントカレンダー\ lib \ plugins \ A1ecFacebookConnectorPlugin.php on line 120 [04- 2012年5月20日22:26:26 UTC]

私は明らかに間違ったことをしています、それは何ができますか?

+0

。例外ハンドラで 'var_dump'を実行して' $ e'を試すことができますか? –

答えて

6

[OK]を、私はエラーが例外ハンドラ内で発生していると、それが例外をスローしたものの出力を示していないように見え、あなたがパラメータとしてqueriesを使用する必要があり、これを行う方法が見つからないquery

try { 
    $fql = array( 
     "query1" => "SELECT uid2 FROM friend WHERE uid1 = me()", 
     "query2" => "SELECT name, url, pic FROM profile WHERE id IN (SELECT uid2 FROM #query1)" 
    ); 
    //$fql = "SELECT uid2 FROM friend WHERE uid1 = me()"; 
    // Proceed knowing you have a logged in user who's authenticated. 
    $user_profile = $facebook->api(array(
     'method' => 'fql.multiquery', 
     'queries' => $fql, 
    )); 
} catch (FacebookApiException $e) { 
    error_log(print_r($e->getMessage(), true)); 
    $user = NULL; 
} 
1

存在しない$e->getMessageに電話をかけようとしていますか?ライン120上のコードは次のようになります。

error_log(print_r($e, true)); 

を使用すると、複数の問合せに問題がある場合、あなたは、単一のクエリとしてこれを行うことができます:

$fql = "SELECT name, url, pic FROM profile WHERE id IN 
     (SELECT uid2 FROM friend WHERE uid1 = me())"; 

$user_profile = $facebook->api(array(
    'method' => 'fql.query', 
    'query' => $fql, 
)); 

私は以下のように実行しているクエリを取得することができましたこの3つのSELECTが深くなります。 4つのSELECTが多すぎるようです。

+0

私はばかだ、私はちょうどファイルを保存していないと私はプロパティではなく、メソッドにアクセスしていた! :)とにかく私はマルチクエリーを行うための解決策を見つけた、私はそれを投稿します、とにかくあなたの助けをありがとう –

関連する問題