我在CodeIgniter中创建搜索表单时出现问题 - 它显示的错误如下:
遇到PHP错误
严重性:注意
消息:未定义属性:Login :: $ membership_model
文件名:controllers / login.php
行号:12
回溯:
文件:C:\ xampp \ htdocs \ Project5_1 \ CodeIgniter \ application \ controllers \ login.php 行:12 功能:_error_handler
文件:C:\ xampp \ htdocs \ Project5_1 \ CodeIgniter \ index.php 行:315 功能:require_once
致命错误:在第12行的C:\ xampp \ htdocs \ Project5_1 \ CodeIgniter \ application \ controllers \ login.php中调用null上的成员函数getSearchBook() 遇到PHP错误
严重性:错误
消息:在null
上调用成员函数getSearchBook()文件名:controllers / login.php
行号:12
回溯:
我的控制器页面是:
<?php
class Login extends CI_Controller{
function search(){
$searchBook = $this->input->post('searchBook');
$data = $this->membership_model->getSearchBook($seachBook);
$this->load->view('main_content',$data);
}
?>
我的模型页面是:
class Membership_model extends CI_Model{
function getSearchBook($searchBook) {
$this->db->select('*');
$this->db->from('book');
$this->db->like('author',$searchBook);
return $query->result();
}
}
我的main_content.php是:
<?php
echo form_open('login/search');
echo form_input('searchBook','Search Book', 'id="searchBook"');
echo form_submit('submit', 'Search');
echo form_close();
?>
<table><th>Title</th></table>
<div>
<?php
// List up all results.
foreach ($results as $val)
{
echo $val['title'];
}
?>
</div>
</body>
答案 0 :(得分:0)
自从我使用CodeIgniter以来已经很长时间了,但是从我记忆中来看,你并没有在你的Login类构造函数中加载模型。这就是为什么你得到这两部分错误的原因:
消息:未定义属性:Login :: $ membership_model
消息:在null
上调用成员函数getSearchBook()
如果您尚未加载membership_model
模型,则Login类中不存在属性或函数。
在我的头顶上,我认为在你的登录控制器中需要这样的东西:
<?php
class Login extends CI_Controller{
function __construct()
{
parent::__construct();
$this->load->model('membership_model');
}
function search(){
$searchBook = $this->input->post('searchBook');
$data = $this->membership_model->getSearchBook($seachBook);
$this->load->view('main_content',$data);
}
?>