【发布时间】:2020-03-27 20:40:47
【问题描述】:
这是一个旧栗子,但我在代码中看不到错误。我在 Windows 10、VSCode 中并使用 Codeigniter 3 框架。我正在尝试删除一条记录,但还要添加一条警报,指出该记录已成功删除。因此,首先我使用 id 并获取记录,将其保存为会话数据,删除记录,然后使用保存的数据发出警报,例如“您已成功删除 John Smith 的数据库条目”。这是我的控制器方法:
function member_delete($id) {
$member = $this->get_where($id);
$this->session->set_userdata('firstname',$member->firstname);
$this->session->set_userdata('lastname',$member->lastname);
if($this->_delete($id)){
$firstname = $this->session->userdata('firstname');
$lastname = $this->session->userdata('lastname');
$this->session->set_flashdata('success', 'You have successfully deleted the database entry for '.$firstname.' '.$lastname);
$this->members();
} else {
$this->session->set_flashdata('failure','There has been an error and the record has not been deleted');
$this->members();
}
}
这工作正常,警报已成功发布,但是当我刷新页面时,PHP 会引发(严重性:通知)错误“尝试获取非对象的属性”。错误行是方法的第二行,即 $method->firstname。
我在变量 $member 上运行了 var_dump,它绝对是一个对象,通过 result->row() 返回。
谁能告诉我怎么回事?
【问题讨论】:
-
一旦您删除了该成员,看起来好像您正试图再次删除它们。所以
$this->get_where($id)是找不到会员的。
标签: php codeigniter-3