2012-10-31 223 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

很高興我能幫忙=) –