2012-03-04 228 views
0

我得到一个错误,当我运行这个简单的插入操作请看看调用一个成员函数add()一个非对象

ERROR:
A PHP Error was encountered
Severity: Notice
Message: Undefined property: Welcome::$mdata
Filename: controllers/welcome.php
Line Number: 29

Fatal error: Call to a member function add() on a non-object in C:\wamp\www\codi\application\controllers\welcome.php on line 29

我使用笨

创建基于MVC代码

我的型号名称为mdata.php 为:

<?php if (! defined('BASEPATH')) exit('No direct script access allowed'); 
class Mdata extends CI_Model { 
function Mdata(){ 
parent::__construct(); 
} 
function add($id, $name) { 
     $data = array(
      'userid' => $id, 
      'username' => $name 
     ); 

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

我的控制器命名为欢迎。 PHP是

<?php if (! defined('BASEPATH')) exit('No direct script access allowed'); 
class Welcome extends CI_Controller 
{ 

public function index() 

{ 
     if($this->input->post('submit')) 
     { 
      $id = $this->input->post('id'); 
      $name = $this->input->post('name'); 
      $this->mdata->add($id,$name); 
      } 

$this->load->model('mdata','',TRUE); 

$this->load->view('data'); 

} 

} 

======================================== ===================================== 我的观点是data.php文件为

<body> 
<?php $this->load->helper('form'); ?> 

<?php echo form_open('welcome'); ?> 

    <p> 
     <?php echo form_input('id'); ?> 
    </p> 

    <p> 
     <?php echo form_input('name'); ?> 
    </p> 

    <p> 
     <?php echo form_submit('submit', 'Submit'); ?> 
    </p> 

<?php echo form_close(); ?> 
</body> 

任何帮助我解决这个简单的错误?

回答

3

您需要之前,加载由$this->mdata引用的模型调用add()

if($this->input->post('submit')) 
{ 
    // load the model first! 
    $this->load->model('mdata'); 

    $id = $this->input->post('id'); 
    $name = $this->input->post('name'); 

    $this->mdata->add($id,$name); 
} 
相关问题