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 년 세계 협정시 20시 22분 26초] PHP 공지 사항과 예외를 반환합니다 : 정의되지 않은 속성 : FacebookApiException : $ \ Zend \ Apache2 \ htdocs \ wordpress \ wp-content \ plugins \ all-in-one-event-calendar \ lib \ plugins \ A1ecFacebookConnectorPlugin.php (x)의 getMessage 라인on line 120 [04- 2012 년 5 월 20 일 22:26:26 UTC]

나는 분명히 뭔가 잘못하고있다. 그게 무엇일까?

+0

을 매개 변수로 queries를 사용하지 않아야 발견 . 예외 처리기에서'var_dump'ing'$ e'를 시도해 볼 수 있습니까? –

답변

6

이 좋아 내가이 작업을 수행하는 방법, 오류가 예외 핸들러 내에서 발생하고 예외를 던져 무엇의 출력을 표시되지 않는 것처럼 보이는 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)에 대한 코드는 읽어야 : 나는 쿼리가 같은 실행 얻을 수있었습니다

$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, 
)); 

: 당신이 multiquery에 문제가있는 경우

error_log(print_r($e, true)); 

, 당신은 하나의 쿼리로이 작업을 수행 할 수 이 3 개의 SELECT가 깊다. 4 개의 SELECT가 너무 많은 것 같습니다.

+0

나는 어리 석었고, 파일을 저장하지 않았고 메서드가 아니라 속성에 액세스했습니다! :) 어쨌든 멀티 쿼리를 할 해결책을 찾았습니다. 어쨌든 도움을 주셔서 감사합니다. –