0

我想将基本用户信息(如姓名和代理电子邮件)存储到我的 MySQL 数据库中。这是我的代码

$facebook = new Facebook($appapikey, $appsecret);
$user = $facebook->require_login($required_permissions = 'publish_stream','status_update','email');

$con = mysql_connect("xxxx","xxxxx","xxxxx");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

mysql_select_db("xxx_userdb", $con);
//Uptil Here it is working fine...No problem with db connection

$fql_firstname = "select first_name from user where uid = '$user'";
$fql_lastname = "select last_name from user where uid = '$user'";
$fql_email = "select proxied_email from user where uid = '$user'";


$fql_fname_result = $facebook->api_client->fql_query($fql_firstname);
$fql_lname_result = $facebook->api_client->fql_query($fql_lastname);
$fql_email_result = $facebook->api_client->fql_query($fql_email);

echo "<pre>FQL Result:" . print_r($fql_fname_result,true) . "</pre>";
echo "<pre>FQL Result:" . print_r($fql_lname_result,true) . "</pre>";
echo "<pre>FQL Result:" . print_r($fql_email_result,true) . "</pre>";

这是我得到的输出

FQL Result:

FQL Result:

FQL Result:

我究竟做错了什么?

4

1 回答 1

1

根据我的调查,我认为这可能是您的问题。

在 Facebook APIuidint不是字符串,因此您的 FQL 应该指定 int 的 uid(但您将其应用为字符串)。

改变

$fql_firstname = "select first_name from user where uid = '$user'";
$fql_lastname = "select last_name from user where uid = '$user'";
$fql_email = "select proxied_email from user where uid = '$user'";

$fql_firstname = "select first_name from user where uid = $user";
$fql_lastname = "select last_name from user where uid = $user";
$fql_email = "select proxied_email from user where uid = $user";

我希望$user返回uid.


观察更新

此外,调用fql_query返回一个数据数组,所以(以防万一)你为什么不尝试(不确定我在 PHP 中是否正确)

echo "<pre>FQL Result:" . print_r($fql_fname_result[0],true) . "</pre>";
echo "<pre>FQL Result:" . print_r($fql_lname_result[0],true) . "</pre>";
echo "<pre>FQL Result:" . print_r($fql_email_result[0],true) . "</pre>";
于 2010-03-23T09:32:44.793 回答