【问题标题】:fql_query returns "Array" instead of namefql_query 返回“数组”而不是名称
【发布时间】:2011-02-23 08:44:07
【问题描述】:

我正在尝试创建一个使用 fql_query 检索用户名称的简单 fb 应用程序。

代码:

require_once 'facebook.php';

$appapikey = 'xxxx';

$appsecret = 'xxxx';

$facebook = 新 Facebook($appapikey, $appsecret) ;

$user_id = $facebook->require_login();

$q = "SELECT name FROM user WHERE uid='$user_id'";

$name = $facebook->api_client->fql_query($q);

echo "姓名 : $name[0][name]";

输出: 名称:数组[名称]

你能告诉我这里出了什么问题吗? 谢谢!

【问题讨论】:

    标签: facebook facebook-fql


    【解决方案1】:

    错误在这一行:

    echo "Name : $name[0][name]";
    

    您在引号中包含 $name[0][name],这应该是

    echo "Name : {$name[0][name]}";
    

        echo "Name : ".$name[0][name];
    

    【讨论】:

      【解决方案2】:

      FQL 查询始终返回一个数组,即使结果中只有一项。将结果视为普通 SQL 查询中的行。

      【讨论】:

        【解决方案3】:

        每当我在 PHP 中使用数组或数据库/API 调用时,我都会 print_r($array_name) 查看返回的内容。所以这个:

        $name = $facebook->api_client->fql_query("SELECT name FROM user WHERE uid=$user_id");
        print_r($name);
        

        应该返回这个:

        Array
        (
            [0] => Array
            (
                [name] => First Last
            )
        )
        

        另外,我从不在 FQL 中的值/变量周围加上刻度线。

        $q = "SELECT name FROM user WHERE uid=$user_id";
        $name = $facebook->api_client->fql_query($q);
        

        但是,当您打印值时,应该在对命名索引的引用(在本例中为“名称”)周围加上单引号,并且不应将其全部用双引号括起来:

        echo "Name : " . $name[0]['name'];
        

        【讨论】:

          猜你喜欢
          • 2021-06-08
          • 1970-01-01
          • 2019-08-08
          • 1970-01-01
          • 1970-01-01
          • 2017-10-13
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多