未执行Codeigniter Mysql查询


Codeigniter Mysql Query is not performed

我想制作一个简单的搜索引擎,从数据库中查找数据并将其显示出来,但我不明白为什么要执行查询,这是我的代码:

模型页面

class Reference_model extends CI_Model{

        function search($match){
            $this->db->where('sReference', $match);
            $this->db->like('nReference', $match);
            $this->db->or_like('sSearch', $match);
            $this->db->from('treference', $match);
            $query = $this->db->get();
                if($query->num_rows > 0){
                    $output = '<ul>';
                    foreach ($query->result() as $rows){
                        $output .= '<li>'.$rows->nReference.'</li>';
                    }
                    $output .='</ul>';
                }else{
                    return "<p>No Results!</p>"; //No Results!
                }
                return $output;
    }
}

控制器页面

class References extends CI_Controller {

    function index()
    {   
        $q = $this->input->post('q');
        $this->load->model('Reference_model');
        $results['result'] = $this->Reference_model->search($q);

        $this->load->view('constants/header');
        $this->load->view('references',$results);
        $this->load->view('constants/footer');
}
}

当我从搜索表单中执行搜索时,我会得到无结果 ,有人能帮我吗,因为我已经尝试过很多次了,但我不是一个专业的网络开发人员,我只是在学习,感谢所有的贡献者

型号:

    class Reference_model extends CI_Model
    {

        function search($match)
        {
            $this->db->select('*');   //this line
            $this->db->where('sReference', $match);
            $this->db->like('nReference', $match);
            $this->db->or_like('sSearch', $match);
            $this->db->from('treference');  //this line
            $query = $this->db->get();
                if($query->num_rows > 0){
                    $output = '<ul>';
                    foreach ($query->result() as $rows){
                        $output .= '<li>'.$rows->nReference.'</li>';
                    }
                    $output .='</ul>';
                }else{
                    return "<p>No Results!</p>"; //No Results!
                }
                return $output;
        }
    }

试着用echo/print_recho$this->db->last_query((调试查询

希望这对你有帮助。

$this->db->like('sReference', $match);
$this->db->like('nReference', $match);
$this->db->or_like('sSearch', $match);

这部分

$this->db->from('treference', $match);

将其更改为

$this->db->from('treference');

试试这个。。

希望能有所帮助。。

更改此

if($query->num_rows > 0){

if($query->num_rows() > 0){

num_rows应该是一个函数。如果仍然不起作用。尝试转储正在生成的查询并将其发布到此处。

var_dump($this->db->last_query()); die('x'); if($query->num_rows > 0){