500 Внутренняя ошибка сервера CodeIgniter - PullRequest
0 голосов
/ 08 марта 2012

Я следую учебному пособию и получил проблему 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';

и я автоматически загрузил модель в файл автозагрузки.

Если я опустошу базу данных или введу туда какое-то случайное имя, на нем не будет отображаться 500 внутренняя ошибка сервера, вместо этого будет показана значимая ошибка msg. Я не могу понять проблему сейчас, кто-нибудь может помочь?

Ответы [ 2 ]

1 голос
/ 09 марта 2012

Проблема, кажется, здесь вы использовали$this->load->var($data);вместо$this->load->vars($data);

0 голосов
/ 08 марта 2012

вы не загрузили модель в контроллер

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');

}

Вам также необходимо отправить данные в $ для просмотра

$ this-> load-> Вид ( 'шаблон', $ данных);

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...