codeigniter - 从数据库中选择数据

时间:2016-03-16 12:22:40

标签: php codeigniter

对不起基本问题,但我无法在网上任何地方找到答案。我昨天开始使用codeigniter而我所要做的就是从我的数据库中选择数据。但是,我没有收到任何错误,也没有显示任何数据。如果我更改数据库表格名称。它会立即抛出错误。

模型

<?php

    class Customer_model extends CI_Model {

        public function get_customers($id) {
            if ($id != FALSE) {
                $query = $this->db->get_where('customer', array('id' => $id));
            } else {
                return FALSE;
            }
        }

    }

控制器

<?php

    class Customer extends CI_Controller {

        public function show($id) {
            $this->load->model('customer_model');
            $news = $this->customer_model->get_customers($id);

            $data['customer_name'] = $news['customer_name'];
            $data['streetname'] = $news['streetname'];
            $this->load->view('customers', $data);
        }

    }

查看

<?php echo "hallo"; ?>
<?php echo $customer_name; ?>

**编辑,在我的页面中可以看到你好的回声。所以我在正确的页面中,但没有错误,也没有任何数据缺失的通知。

如果有人知道我做错了什么,那就多了。包括btw数据库连接,并且还加载了包。

感谢

1 个答案:

答案 0 :(得分:3)

在模型中

class Customer_model extends CI_Model {

    public function get_customers($id) { # refactored 

        $this->db->select(*);            
        $query = $this->db->get_where('customer', array('id' => $id));
        $result = $query->result_array();

        $count = count($result); 

        if(empty($count)){
            return false;
        }
        else{
            return $result;
        }
    }
}

在控制器中

class Customer extends CI_Controller {

    public function show($id) {

        if(empty($id)) # Added
        { 
            echo "Token Invalid";
        }
        else{
            $this->load->model('customer_model');
            $news = $this->customer_model->get_customers($id);

            if($news == false){ # Added
                echo "No result Found";
            }
            else{
                $data['customer_name'] = $news[0]['customer_name']; # Changed
                $data['streetname'] = $news[0]['streetname']; # Changed
                $this->load->view('customers', $data);              
            }   
        }
    }
}