首页 > 解决方案 > 如何解决 - 错误号:1054 Unknow Column CodeIgniter

问题描述

根据 CI文档,我遵循并实现了分页,但我无法让它工作。

A Database Error Occurred 
Error Number: 1054 
Unknown column '2' in 'order clause' 
SELECT * FROM (`asst_vendor`) ORDER BY `2` LIMIT 10 
Filename: ...\system\database\DB_driver.php
Line Number: 330

第 1 页的一切都按预期工作,但是当我访问第 2 页时,我遇到了上述错误。我认为第 13 号模型线有问题$rs=$query->result_array(); 我没有加载一些东西吗?

这是我的代码 模型

public function getVendor($offset,$page,$sorting,$order)
    {
        $this->db->select('*');
        $this->db->from('asst_vendor');
        $this->db->limit($page,$offset);
        if($sorting!="")
        {
            $this->db->order_by($sorting,$order);
        }
        $query=$this->db->get();
        // var_dump($query->result_array());
        $rs=$query->result_array();
        return $rs;
    }

控制器

function getVendor()
    {
        $sorting = $this->uri->segment(3);
        $order = $this->uri->segment(4);
        
        $config = array();
            $config["base_url"] =   site_url("vendor/getVendor").'/'.$sorting.'/'.$order;;
            $config['page_query_string'] = FALSE;

            $config['use_page_numbers'] = TRUE;
            $config["per_page"] = 10;
            $page_number = $this->uri->segment(5);
            if(empty($page_number)) $page_number = 1;
            $offset = ($page_number-1) * $config['per_page'];
            
            $tvendor=$this->vendor_model->getcountVendor();
            $config["total_rows"]=$tvendor[0]['total_vendor'];
            $choice = $config["total_rows"] / $config['per_page'];
            $config["num_links"] = round($choice);
            $config["enable_query_strings"] = FALSE;
            $config['uri_segment']=5;
            $config['full_tag_open'] = '<div align="center"><ul class="pagination">';
            $config['full_tag_close'] = '</ul></div><!--pagination-->'; 

            $config['first_link'] = '&laquo; First';
            $config['first_tag_open'] = '<li>';
            $config['first_tag_close'] = '</li>';
            $config['last_link'] = 'Last &raquo;';
            $config['last_tag_open'] = '<li >';
            $config['last_tag_close'] = '</li>';
            $config['next_link'] = '&gt;';
            $config['next_tag_open'] = '<li>';
            $config['next_tag_close'] = '</li>';
            $config['prev_link'] = '&lt;';
            $config['prev_tag_open'] = '<li>';
            $config['prev_tag_close'] = '</li>';
            $config['cur_tag_open'] = '<li class="active"><a href="">';
            $config['cur_tag_close'] = '</a></li>';
            $config['num_tag_open'] = '<li class="page">';
            $config['num_tag_close'] = '</li>'; 
            $this->pagination->cur_page = $offset;
            $this->pagination->initialize($config);
        
        $temp['link']=$this->pagination->create_links();
        $temp['vendor']=$this->vendor_model->getVendor($offset,$config["per_page"],$sorting,$order);
        $this->load->view('vendoroverview',$temp);
    }

谢谢你的帮助

标签: phpcodeigniter

解决方案


推荐阅读