0

Facebok PHP SDK で奇妙なエラーが発生しました。最初のキャラクターの名前とプロフィールの画像に基づいて、友達のリストを取得しようとしています。

「ジョン」の友達を探す関数は次のようになります。

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: パーサー エラー: 位置 71 で予期しない '#q1' がスローされました。 /base_facebook.php 1252 行目

FacebookAPI は、最初のクエリを参照する「#」文字を認識しないようです。誰もこれについて手がかりを持っていますか?

どうもありがとう。

4

1 に答える 1

0

エラーが見つかりました。

問題は私の2番目のクエリにありました:

から

"q2" => " #q1 で幅 = 32 AND 高さ = 32 AND id の profile_pic から URL を選択"

"q2" => "SELECT url FROM profile_pic id in (SELECT id in #q1) "

于 2013-04-05T18:41:54.787 に答える