Codeigniter插入失败

时间:2012-10-31 01:56:45

标签: php mysql codeigniter

我是codeigniter的新手。我试图将数据插入mysql数据库到名为class_record的表。我的控制器add_record.php编码如下:

class Add_record extends CI_Controller
    {
        function __construct()
        {
            parent::__construct();
        }

        function index()
        {
            $this->load->model('add_record_model');
        }
    }

我的模型add_record_model如下:

class add_record_model extends CI_Model{

    function __construct(){
        parent::__construct();
    }
    function index(){
        $data = array(

            'roll_number' => 15,
            'student_name' => 'Dhrubajyoti Baishya',
            'branch_code' => 'CS'
        );

        $this->db->insert('class_record',$data);
    }
    }

但是当我在url数据中输入http://localhost/codeigniter/index.php/add_record时没有插入到数据库中。有什么问题?

1 个答案:

答案 0 :(得分:1)

你实际上并没有在控制器中做任何事情,模型没有像你想的那样拥有索引功能。

你想要这样的东西:

class Add_record extends CI_Controller
{
    function __construct()
    {
        parent::__construct();
    }

    function index()
    {
        $this->load->model('add_record_model');
        $this->add_record_model->insertRecords();
    }
}



class add_record_model extends CI_Model{

function __construct(){
    parent::__construct();
}
function insertRecords(){
    $data = array(

        'roll_number' => 15,
        'student_name' => 'Dhrubajyoti Baishya',
        'branch_code' => 'CS'
    );

    $this->db->insert('class_record',$data);
}
}

控制器执行它所说的控制事物。通过加载模型,您所做的只是将模型函数暴露给控制器以直接使用。老实说,你也可以将数据从控制器传递给模型,你所拥有的功能是一个很好的小测试功能,但确实真的很麻烦。你真正想要做的就是这样做。

class Add_record extends CI_Controller
{
    function __construct()
    {
        parent::__construct();
    }

    function index()
    {
        $data = array(

        'roll_number' => 15,
        'student_name' => 'Dhrubajyoti Baishya',
        'branch_code' => 'CS'
    );
        $this->load->model('add_record_model');     
        $this->add_record_model->insertRecords($data);
    }
}



class add_record_model extends CI_Model{

function __construct(){
    parent::__construct();
}
function insertRecords($data){       

    $this->db->insert('class_record',$data);
}
}