0

我在我的 php 应用程序中使用simpleSQL - PDO类,
并通过以下代码使用:

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

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

它在 localhost 中运行良好,但在在线服务器中出现以下错误:

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

行号 DB类中的230是:

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

我的问题在哪里?

4

1 回答 1

2

这是课堂上的一个错误。

buildQuery方法中:

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

这会静态调用该prepareDbValues方法(因此,不在对象上下文中 ->$this未定义)。要解决此问题,请将其替换为

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

并将错误和修复报告给班级的作者。

于 2012-08-24T08:24:21.297 回答