2012-08-24 23 views
0

對象上下文我使用simpleSQL - PDO類在我的PHP應用程序,
並使用此代碼:

$where['username']=$_POST['username']; 
$where['password']=md5($_POST['password']); 

$DB = new DB(); 
$res=$DB->buildQuery('tbl_admin',$where); 

它工作在本地主機罰款,但在在線服務器,它會得到這樣的錯誤:

Fatal error: Using $this when not in object context in DB.php on line 230 

line no。 DB類中的230是:

$ item = $ this- > instance- > quote ($ this- > escape ($ item)); 

我的問題在哪裏?

+0

你的230行是在實際類中的函數還是在類之外? –

+0

是的,它是在實際的課堂上,而不是在外面。 .check here [simpleSQL - PDO](http://blog.csdn.net/btbdylq/article/details/6826225) –

+1

查看本地主機和服務器上的php版本 – Sergey

回答

2

這是班上的一個錯誤。

buildQuery方法:

array_walk($where,'DB::prepareDbValues'); 

這將調用prepareDbValues方法靜態(因此,不是在對象上下文 - >$this沒有定義)。要修復此問題,請將其替換爲

array_walk($where,array($this, 'prepareDbValues')); 

並將錯誤和修復報告給類作者。

+0

是的,謝謝你的回答。 。 –