500内部服务器错误CodeIgniter

时间:2012-03-08 19:41:36

标签: codeigniter model

我正在关注一个教程并得到500问题。我不确定问题是否是由模型引起的。 我的模特:

<?php

class Cat_model extends CI_Model{


 public function __construct()
{
    $this->load->database();
}

function getCategory($id){
    $data =  array();
    //select one row matching that ID from the categories table
    $options = array('id'=>$id);
    $q = $this->db->get_where('categories',$options,1);

    if($q->num_rows()>0){
        $data = $q->row_array();
    }

    $q->free_result();
    return $data;
}

function getAllCategories(){
    $data = array();
    $q = $this->db->get('categories');

    if($q->num_rows()>0){
        foreach ($q->result_array() as $row){
            $data[] = $row;
        }
    }
    $q->free_result();
    return $data;
}
}

我的控制员:

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Welcome extends CI_Controller {

  public function __construct()
{
    parent::__construct();
    }


public function index()
{//homepage
        $data['title'] = "Welcome to TM testDIY";
        $data['navlist'] = $this->cat_model->getAllCategories();
        $this->load->var($data);
        $this->load->view('template');

}

 }

数据库

$db['default']['database'] = 'testDIY';

我在autoload文件中自动加载模型。

如果我清空数据库或在其中放置一些随机名称,它将不会显示500内部服务器错误,而是显示一些有意义的错误消息。 我现在无法解决问题,任何人都可以帮忙吗?

2 个答案:

答案 0 :(得分:1)

问题似乎在这里您使用了$this->load->var($data);
而不是$this->load->vars($data);

答案 1 :(得分:0)

您没有在控制器中加载模型

public function index()
{//homepage

//Load the model
$this->load->model('cat_model','',TRUE);

    $data['title'] = "Welcome to TM testDIY";
    $data['navlist'] = $this->cat_model->getAllCategories();
    $this->load->var($data);
    $this->load->view('template');

}

您还需要将$数据发送到您的视图

$这 - &GT;负载&gt;查看( '模板',$数据);