2013-04-05 73 views
0

Im FaceFok PHP SDK有一個奇怪的錯誤。我試圖根據第一個人物的名字和他們的個人資料的圖像得到一個朋友列表。FacebookSDK(PHP)無法識別多字符調用中的'#'字符

我的功能來尋找 「約翰」 的朋友是這樣的:

public function searchFriends($fbToken, $search) { 
    # atualizar a api do facebook com o token de acesso: 
    $this->facebookAPI->setAccessToken($token); 

    $multiquery = array(
     "q1" => 'SELECT name, uid FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1=me()) AND strpos(lower(name), "john") = 0', 
     "q2" => "SELECT url FROM profile_pic WHERE width = 32 AND height = 32 AND id in #q1" 
    ); 

    $send = array(); 
    $send['method'] = 'fql.multiquery'; 
    $send['queries'] = $multiquery; 
    $send['callback'] = ''; 

    $friends = $this->facebookAPI->api($send); 

    return $friends; 
} 

錯誤即時得到的是:

致命錯誤:未捕獲的異常:601:分析器錯誤:意外「#Q1 「在/nfs/c03/h03/mnt/55868/domains/secure.thegoodfellas.com.br/html/tamojuntometro/php/fb/base_facebook.php扔到線位置71. 1252

它看起來像FacebookAPI不識別「#」字符這是指第一個查詢。有沒有人有這方面的線索?

非常感謝。

回答

0

我發現了這個錯誤。

的問題是與我的第二查詢:

「Q2」=> 「選擇URL FROM profile_pic WHERE寬度= 32 AND高度= 32 AND ID在#Q1

TO

「Q2」=> 「選擇URL FROM profile_pic ID在(SELECT在#Q1 ID)