在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]。