我正在处理一个类似网站的任务管理器,而且我很难与我的数据库对象(PDO)
所以我有一个数据库类(DB),它有一个函数getInstance
(Singleton)。当我使用User
类中的create函数创建用户时,这非常正常。
然后我使用相同的函数create创建了一个Task
类,它还使用getInstance
类中的DB
函数。但后来我得到了这个错误
Call to a member function insert() on a non-object
函数insert是Database类中的一个函数,用于查询数据库并插入数据。我在两个类的create函数中使用了函数insert。
任务类
class Task {
private $id, $task, $message, $date, $active, $finished, $user_id;
public $_db;
public function __contstruct() {
$this->_db = DB::getInstance();
}
public function create($fields = array()) {
if (!$this->_db->insert('tasks', $fields)) {
throw new Exception('There was a problem creating an account');
}
}
}
非常感谢!
答案 0 :(得分:0)
你在__contstruct
中犯了语法错误。改为:
public function __construct(){
当然,类Task
的构造函数没有引起=> $_db
是空的。
P.S。真的,阴险的错误:)