我正在运行此代码,并收到以下消息:
“致命错误:在非对象中调用成员函数 api()”
它所指的那一行是我写的那一行global $facebook
。facebook 对象在一个 config.php 文件中初始化,该文件包含在我的 Database.php 文件中,我已链接到该文件中。我已经研究过这个问题,它似乎是在你$facebook
在函数之外声明并使用它时出现的内部而不使它成为全球性的。如您所见,我已将其设为全局,我什至尝试在不使其全局的情况下进行操作 - 两者都会导致该错误。
有谁知道为什么?
ps 我什至不明白为什么它需要是全局的,因为如果 config.php 包含在我的 Database.php 文件中,并且包含在下面的代码中,那么 $facebook 对象不在此代码的范围内?
<?php
include_once('../../Database.php');
session_start(); // Start session for safety
// Retrieve the user's current shortlist of potential flatmates
$uid = $_SESSION['uid'];
$shortlistRes = getShortlist($uid);
global $link;
$shortlist = null;
while($r = mysqli_fetch_array($shortlistRes)) {
$shortlist[] = $r;
}
var_dump($shortlist);
// Create array of parameters you need
$parameters = array("pic_square");
// Get id and picture of everyone on shortlist
$shortlistString = implode(",",$shortlist);
$fql = "SELECT uid, pic_link FROM user WHERE uid IN ($shortlistString)";
global $facebook;
$shortlistFBInfo = $facebook->api(array(
'method' => 'fql.query',
'query' => $fql
));
print_r($shortlistFBInfo);
// Display Shortlist Page
//include_once('../View/shortlist_v.php');
?>