這是我使用通過數據庫句柄到我的類代碼:調用一個成員函數的非對象錯誤做準備()
$db = new mysqli(DB_HOST, DB_USER, DB_PASS, DB_NAME);
if ($db->connect_error)
die('MySQL connection error (' . $db->connect_errno . ') ' . $db->connect_error);
$linkgen = new Linkgen($db);
echo $linkgen->getLinksLeft();
而且這是在Linkgen
類的代碼:
class Linkgen {
private $db; // our database handle
private $linksLeft;
function __contruct($db)
{
$this->db = $db;
}
function getLinksleft()
{
$ip = $_SERVER['REMOTE_ADDR'];
$q = $this->db->prepare("SELECT links_left FROM `limits` WHERE ip=?");
$q->bind_param("s", $ip);
$q->execute();
$q->bind_result($this->linksLeft);
$q->fetch();
printf("%i links left", $this->linksLeft);
$q->close();
}
}
由於某種原因,當我調用getLinksLeft
方法時,出現非對象錯誤。我無法弄清楚這一點,因爲從我可以看到我正確引用數據庫句柄。
任何幫助表示讚賞,謝謝。
這個問題已經超過2年了,並且已經被成功地回答和接受了。嘗試將注意力集中在新問題上! – 2012-11-15 19:36:43