在Facebook删除请求PHP中使用post id变量

在Facebook删除请求PHP中使用post id变量,php,mysql,facebook,Php,Mysql,Facebook,我正在使用 $access_token = $facebook->getAccessToken(); $facebook->setAccessToken($access_token); $response = $facebook->api( $post_id['id'], 'DELETE' ); 从Facebook页面删除帖子。我将post id存储在mysql数

我正在使用

$access_token =  $facebook->getAccessToken();
        $facebook->setAccessToken($access_token);
            $response = $facebook->api(
            $post_id['id'],
            'DELETE'
            );
从Facebook页面删除帖子。我将post id存储在mysql数据库中并使用

 $ad_id = osc_ad_id();
$conn = getConnection();
    $get_id=$conn->osc_dbFetchResult("SELECT * FROM %st_post_id WHERE ad_id = '$ad_id'");
    $post_id = $get_id['post_id'];
检索id

当我在我的网站上测试它并按下删除按钮时,它会显示

致命错误:未捕获的GraphMethodException:不支持的删除请求

虽然如果我手动操作,并使$post='5768877877667657_76576687667'假id,然后更改代码

$access_token =  $facebook->getAccessToken();
            $facebook->setAccessToken($access_token);
                $response = $facebook->api(
                $post_id,
                'DELETE'
                );
它工作并删除帖子

所以我的问题是,从mysql检索id和手动操作$post_id='5767687878_7676765857875'之间有什么区别

mysql上的行设置类型为:varchar,排序规则为:utf8\u general\u ci,长度为:50

我已经研究了stackoverflow的解决方案,但找不到任何东西

我还在另一个页面上检索了id,然后使用echo查看格式是否正确,它可以工作,我甚至复制了echo id并使$post_id等于它,它成功地删除了帖子


只有当我从数据库检索id并使其等于一个变量时,请求才会失败。

mysql函数已被弃用,请改用mysqli函数。在你的代码中

$post_id= msql_query("SELECT * FROM %st_post_id WHERE ad_id = '$ad_id'");
$post_id将是一个结果集。如果要获取结果集的每一列。您需要使用mysql\u fetch\u数组或mysql\u fetch\u行。因此,请添加此代码以获取post_id并尝试运行您的脚本

 $post_sql= msql_query("SELECT * FROM %st_post_id WHERE ad_id = '$ad_id'");
 $post_details = mysql_fetch_array($post_sql);
 $post_id = $post_details['id'];
 $access_token =  $facebook->getAccessToken();
        $facebook->setAccessToken($access_token);
            $response = $facebook->api(
            $post_id,
            'DELETE'
            );

您好,我更改了问题中的代码,因为我只放置了msql_查询,所以查看器不会感到困惑。我不确定您是否熟悉Osclass脚本,但不是使用mysql,它只是osc_dbFetchResult。我不熟悉Osclass脚本。好的,正如问题中提到的,我可以成功获取id并在页面上回显它,所以回显不是问题。当我使用“$post\u id=$get\u id['post\u id']时,这就是is不起作用的地方。如果我把“$post_id=”46565657_4635656做成假代码,那么它就可以工作了。你能试着把值放在这样一个引号中:$post_id=”。$get_id['post_id'];获取致命错误:未捕获OAuthException 803您请求的某些别名不存在:抛出[has path to base_facebook]。