0
我運行該代碼和我得到以下信息:致命錯誤:調用一個成員函數API()非對象上
「致命錯誤:調用一個成員函數API()在非對象中「
它引用的行是我剛剛寫的地方global $facebook
。 facebook對象在一個config.php文件中初始化,這個文件包含在我已經鏈接到的Database.php文件中。我研究了這個問題,看起來它是關於什麼時候你的$facebook
被聲明在函數之外,並且你使用它內部沒有使其成爲全球。正如你所看到的,我已經把它變成了全球化,我甚至試圖做到不全球化 - 都會導致這種錯誤。
有誰知道爲什麼?
p.s.我什至不明白爲什麼它需要是全球性的,因爲如果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');
?>
嘿IGY - 我提到,有一個爲database.php文件它包含在頁面的頂部,它包含一個config.php文件,它初始化Facebook對象 - 所以在技術上它應該在這個範圍內! – user1058210
我在PHP範圍上有點生疏,但我不認爲你應該需要將它聲明爲全局的,如果它包含在同一級別的另一個文件中 – Igy