我正在使用PHP Facebook SDK
开发一个网站。
我通过图表获取某个地点的所有事件,并使用代码在网站上显示:
$evt=$facebook->api('/search?fields=name,description,location,start_time,end_time&q='.urlencode($var[0]).'+'.$_GET['tipo'].'&type=event&limit=500&since=today&until='.$dq);
这有效但我有这个问题:通过网站我也可以通过Facebook登录网络用户的Facebook ID并将其ID存储到我的MySQL
数据库表pnota_USERS
中。
要获取存储在我的数据库中的Facebook ID的所有事件,我使用以下代码:
$db_host=modGoogleResHelper::db_host($params);
$db_pass=modGoogleResHelper::db_pass($params);
$db_user=modGoogleResHelper::db_user($params);
$db_name=modGoogleResHelper::db_name($params);
$db=mysql_connect($db_host,$db_user,$db_pass) or die("errore nella connessione al database");
mysql_select_db(db_name);
$query="select * from pnota_users where facebook_id<>'' or facebook_id<>null";
$riga="";
$ret=mysql_query($query,$db);
if(mysql_affected_rows()>0){
while($row=mysql_fetch_array($ret))
{
$riga.=$row['facebook_id'].";";
}
mysql_free_result($ret);
}
$query="";
$rrx=explode(";",$riga);
foreach($rrx as $kkx)
{
if($kkx!="")
{
$zzz= $facebook->api('/'.$kkx.'/events', 'get', array("fields"=>"id, owner, name,location"));
print_r($zzz);
$fql = "SELECT name, location, start_time,end_time,eid FROM event WHERE eid IN (SELECT eid FROM event_member WHERE uid =".$kkx.") and start_time >='".$today."' and start_time<='".$tomorrow."' order by start_time desc" ;
$ret_objxx = $facebook->api(array(
'method' =>'fql.query',
'req_perms' => 'friends_events,publish_stream,read_friendlists,email,user_events,manage_friendlists,rsvp_event,manage_notifications,user_online_presence',
'query' => $fql) );
foreach($ret_objxx as $keyxx)
{
$item=array("eid" => keyxx[eid],"name"=>'.',"start_time"=>$keyxx[start_time],"end_time"=>$keyxx[end_time],"timezone"=>'-',"location"=>$keyxx[location]);
array_push($events,$item);
}
}
}
此FQL不会向我显示结果。
我尝试将查询FQL直接放到Graph API Explorer中:
在Graph API Explorer中,如果我在右上角选择应用程序Graph API Explorer,它会显示结果。
如果我在右上角的Graph API资源管理器中选择应用程序Graph API Explorer iprimanota
,它是我的应用程序的名称,它不会向我显示结果。
我的问题是:
我使用不好的方法