【问题标题】:Search form in CodeIgniterCodeIgniter 中的搜索表单
【发布时间】:2017-04-18 18:38:37
【问题描述】:

我在 CodeIgniter 中创建 搜索 表单时遇到问题 - 它显示如下错误:

遇到了 PHP 错误

严重性:通知

消息:未定义的属性:登录::$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 中调用成员函数 getSearchBook() on null 遇到 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>

【问题讨论】:

    标签: php mysql codeigniter-3


    【解决方案1】:

    我已经很久没有使用 CodeIgniter 了,但据我所知,您并没有在 Login 类构造函数中加载模型。这就是为什么您会收到这两部分错误:

    消息:未定义的属性:登录::$membership_model

    消息:在 null 上调用成员函数 getSearchBook()

    如果您还没有加载membership_model 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);    
            }
    ?>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-12-03
      • 2015-03-23
      • 1970-01-01
      • 2014-08-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多