2012-10-31 189 views
0

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

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没有插入到数据库中。问题是什么 ?

+0

当您打开所述URL,页面是否打开或没有页面出现呢?也许问题出在URL –

+0

你确定你的代码运行了吗?如果你把'die'('foo bar');'放在模型的'index'方法中,看看它是否输出? – zerkms

+0

行..可能是网址问题!我把'die('foo bar');'放在模型的'index'中,页面是空白的!可能是什么问题?对不起,我只是第三天到CI – Nitish

回答

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); 
} 
} 
+0

非常感谢你Rick Calder。特别感谢您的解释。帮了我很多。 – Nitish

+0

很高兴我能帮忙=) –