0

そこにある名前だけを使用して、友人のユーザー ID を取得しようとしています。SQlのバックグラウンドから来ると、次のようなものになると思います [Select] [UID] [From] friend [Where] Name = "friends name".

だから私のクエリは

$fql_query_url = 'https://graph.facebook.com/'
    . 'fql?q=SELECT+uid+FROM+friend+WHERE+name=Friends Name'
    . '&access_token=' . $access_token;

ここで私のロジックのエラーは何ですか?

4

1 に答える 1

1

friendFQL テーブルの代わりに、userテーブルを使用しuidて、友人の名前に対して友人のを取得する必要があります。これは、friendテーブルが 2 つの間の関係を格納するだけで、userそれらの詳細を格納しないためです。

したがって、クエリは次のようになります

SELECT uid 
FROM user
where name = "Name" and uid in (select uid2 from friend where uid1 = me())

また、フィールドはインデックス可能ではないため、 fromテーブルを使用してテーブルname内のユーザーをフィルタリングする必要があります。useruid2friend

編集

クエリを機能させるには、次のように変更する必要があります

$fql_query_url = 'https://graph.facebook.com/fql?'
     . 'q=SELECT+uid+FROM+user+where+name+%3D+%27User+Name%27+'
         . 'and+uid+in+%28select+uid2+from+friend+where+uid1+%3D+me%28%29%29'
         . '&access_token=' . $access_token;
于 2013-07-02T06:57:55.813 に答える