Php 如果特定数据缺少示例当前城市,则捕获FQL数据中的错误

Php 如果特定数据缺少示例当前城市,则捕获FQL数据中的错误,php,facebook-graph-api,facebook-fql,Php,Facebook Graph Api,Facebook Fql,我一直在尝试使用php中的以下代码检索以下数据: $fql_query='SELECT%20name,%20birthday_date,%20sex,%20current_location.name,%20email%20FROM%20user%20WHERE%20uid=me()';<br> // Run fql query<br> $fql_query_url = 'https://graph.facebook.com/' . '/fql?q='.$f

我一直在尝试使用php中的以下代码检索以下数据:

$fql_query='SELECT%20name,%20birthday_date,%20sex,%20current_location.name,%20email%20FROM%20user%20WHERE%20uid=me()';<br>
  // Run fql query<br>
  $fql_query_url = 'https://graph.facebook.com/'
    . '/fql?q='.$fql_query
    . '&' . $access_token;<br>
  $fql_query_result = file_get_contents($fql_query_url);<br>
  $fql_query_obj = json_decode($fql_query_result, true);<br>
警告: 文件\u获取\u继续entshttps://graph.facebook.com//fql?q=SELECT%20name,%20birth\u date,%20sex,%20current\u location.name,%20email%20FROM%20user%20WHERE%20uid=me&access\u令牌= [function.file get contents]:无法打开流:HTTP请求 失败!HTTP/1.0 400第223行的错误请求


我认为以下错误是因为用户没有在配置文件中提供当前位置。如果我添加数据,代码工作正常。如何捕获该错误?

[function.file get contents]:无法打开流:HTTP请求失败!HTTP/1.0 400第223行的错误请求

将告诉您,由于功能出现故障,因此可以对其进行逻辑测试以获得结果,例如

$fql_query='SELECT%20name,%20birthday_date,%20sex,%20current_location.name,%20email%20FROM%20user%20WHERE%20uid=me()';

  // Check FQL query
  $fql_query_url = 'https://graph.facebook.com/'
                   . '/fql?q='.$fql_query
                   . '&' . $access_token;<br>

  // First logically check the result, TRUE: Result is passed to $fql_query_result.
  //                                   FALSE: $flq_query_result = 0 or false.
  $fql_query_result = file_get_contents($fql_query_url) ? file_get_contents($fql_query_url) : 0;

  // Only json_decode the result if it was valid.
  $fql_query_obj = (!$fql_query_result == 0) ? json_decode($fql_query_result, true) : "FQL was not a valid query";

谢谢这很有帮助。我还没有测试结果,但我明白了你想表达的意思。再次感谢。您可以将$fql\u query\u url粘贴到浏览器中并获取错误消息。例如,不返回任何数据,或者请求您现在无权访问的数据,如何在代码中捕获数据,这就是我自己正在尝试做的。。。