我正在尝试创建一个简单的fb应用程序,该应用程序使用fql_query检索用户的名称。
代码:
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]”;
输出: 名称:数组[名称]
你能告诉我这里出了什么问题吗? 谢谢!
答案 0 :(得分:0)
即使结果中只有一个项目,FQL查询也始终返回一个数组。将结果视为普通SQL查询中的行。
答案 1 :(得分:0)
任何时候我在PHP中使用数组或数据库/ API调用I 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);
但是当你打印这个值时,应该在命名索引的引用周围放置单引号(在本例中为'name'),你不应该用双引号将它全部包装起来:
echo "Name : " . $name[0]['name'];
答案 2 :(得分:0)
错误就在这一行:
echo "Name : $name[0][name]";
你在引号中包含$ name [0] [name],这应该是
echo "Name : {$name[0][name]}";
或
echo "Name : ".$name[0][name];