无法将fql查询数据发送到我的数据库

时间:2014-05-30 16:04:23

标签: php mysql database facebook facebook-fql

我正在创建一个网站,通过Facebook FQL查询从Facebook获取事件和所有其他与事件相关的数据。一切都工作正常,直到我想将所有查询的信息都提供给我的数据库。有些事件记录在数据库中,有些则不记录。

这是一个示例页面,其中我放置了两个也将在页面上回显的FQL查询(这意味着查询成功)并且它们也将被插入到数据库中,但只记录其中一个。记录了一个名为HETK的地方,但Muusika Lounge却没有。 Here's an example page.

我的第二个问题是记录的事件不是从今天的日期开始录制的。从明天开始,一切都开始录制。 (这可以在图片上看到)

代码getTallinn1.php

$today = date("Y-m-d");

$now= $today ;         

$Muusikalounge  =   array(
'method'    => 'fql.query',
'query'     => "SELECT name, start_time,description, location,attending_count,venue,pic_cover,eid
        FROM event WHERE eid IN ( SELECT eid FROM event_member WHERE uid = 450415438376448 AND        start_time >= '$now'   )
        ORDER BY start_time asc LIMIT 0, 3",);
$Result   =   $facebook->api($Muusikalounge);
foreach ( $Result as $rows ) {
mysqli_query( $con, "REPLACE INTO tallinn (name, start_time, description, location,     attending_count, venue, pic_cover, eid) VALUES ( '".$rows['name']."', '".$rows['start_time']."',     '".$rows['description']."', '".$rows['location']."', '".$rows['attending_count']."',    '".$rows['venue']."', '".$rows ['pic_cover']['source']."', '".$rows['eid']."' )" );
}               


 $hetk  =   array(
'method'    => 'fql.query',
'query'     => "SELECT name, start_time,description, location,attending_count,venue,pic_cover,eid
            FROM event WHERE eid IN ( SELECT eid FROM event_member WHERE uid = 282875915182473 AND     start_time >= '$now'   )
           ORDER BY start_time asc LIMIT 0, 3",);       

$Result1   =   $facebook->api($hetk);
foreach ( $Result1 as $rows1 ) {
  mysqli_query( $con, "REPLACE INTO tallinn (name, start_time, description, location,     attending_count, venue, pic_cover, eid) VALUES ( '".$rows1['name']."', '".$rows1['start_time']."',      '".$rows1['description']."', '".$rows1['location']."', '".$rows1['attending_count']."',     '".$rows1['venue']."', '".$rows1 ['pic_cover']['source']."', '".$rows1['eid']."' )" );
}       

这是PHPMyAdmin中记录的数据:

database http://t2na.ee/database.jpg

查询完全相同。我不知道这里可能是什么原因。

更新

我发现了这个问题的线索。 离开说明插入数据库可以解决问题。现在一切都按预期工作。但我无法弄清楚导致此冲突的一些事件描述字符串之间的区别。从事件中获取的描述字符串仅在长度上有所不同,但长度似乎也不是问题。我将描述类型更改为LongText,仍然是同样的问题。

1 个答案:

答案 0 :(得分:0)

对于日期问题,请使用FQL now()函数而不是您自己的日期字符串。如果没有指定时区,Facebook会假定时区为America/Los_Angeles,因此您的$now可能会被FQL解释为明天。

对于未写入的数据,如果您为mysqli_query注释$hetk会怎样?我想知道这两个查询是否以某种方式在数据库中相互覆盖。

最后,随着FQL日落,你应该使用纯Graph API编写新的Facebook API调用。