0

我不会向您展示我尝试做的所有方法并弄错了,而是在这里给您代码,然后问下面的问题...

<?php

$con = mysql_connect($db_server_name, $db_username, $db_password);
if (!$con) {
    echo "0";
}
mysql_select_db("" . $db_database_name . "", $con);
$result = mysql_query("SELECT * FROM sched_posts
WHERE user_id='$user_id'");

while ($row = mysql_fetch_array($result)) {
    $post_id      = $row['ID'];
    $post_year    = $row['post_year'];
    $post_month   = $row['post_month'];
    $post_day     = $row['post_day'];
    $post_hour    = $row['post_hour'];
    $post_minute  = $row['post_minute'];
    $post_privacy = $row['post_privacy'];
    $post_message = $row['post_message'];

    $current_date_time = date('Y-m-d H:i');
    $sched_format      = "$post_year-$post_month-$post_day $post_hour:$post_minute";
    echo "$current_date_time";
    echo "<br>";
    echo "$sched_format";
    echo "<br>";
    if ($current_date_time >= $sched_format) {
        $attachment = array(
            'message' => '' . $post_message . '',
            'name' => 'Title',
            'source' => 'http://www.youtube.com/e/2raioEC7Hms',
            'privacy' => array(
                'value' => '' . $post_privacy . ''
            ),
            'caption' => "Caption",
            'link' => 'https://apps.facebook.com/something/',
            'description' => 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent suscipit pharetra mauris in fringilla. Cum sociis natoque penatibus et magnis dis parturient montes.',
            'description' => 'Description',
            'picture' => 'http://gailbottomleyonline.com/wp-content/uploads/2012/06/facebook-schedule.jpg',
            'actions' => array(
                array(
                    'name' => 'Google',
                    'link' => 'http://www.google.com'
                )
            )
        );
        // To authenticated user's wall
        $result     = $facebook->api('/me/feed/', 'post', $attachment);
    } else {
       // Do Nothing
    }
}
?>

该代码搜索预定的 Facebook 帖子,如果它们与当前日期和时间匹配(或早于该日期和时间),则将其发布。但我想要做的是每次发布时从数据库中删除那些单独的预定帖子。

我想知道的是,在所有这些代码中,我应该在哪里发布允许预定帖子在发布后立即更新的代码?

我希望这听起来不会太令人困惑,因为我多次使用 POST 这个词,但我希望你明白这一点。

我尝试了几种不同的方法来做到这一点,但它不会从数据库中删除帖子或只是产生错误。

到目前为止,在测试了上面的当前代码之后,这部分运行良好。只有当我尝试通过添加代码来让它从数据库中删除该帖子时,才会出现错误。

最近几天一直在尝试不同的事情。

4

1 回答 1

0

仅当您没有从 facebook 服务器收到任何错误/异常时,才从数据库中删除该条目;像这样:

try 
{
    $result = $facebook->api('/me/feed/', 'post', $attachment);
    // Delete the entry from database
}
catch(FacebookApiException $e) 
{
    $result = $e->getResult();
    error_log(json_encode($result));
}
于 2013-10-10T05:56:44.067 回答