codeigniter模型中未定义的变量错误

时间:2014-11-15 07:47:29

标签: php codeigniter

我正在办理登记表格 当我在输入详细信息后提交表单时,注册数据将存储在数据库中,但页面显示以下错误

遇到PHP错误

严重性:注意

消息:未定义的变量:dbRet

文件名:models / registration_model.php

行号:47

我没有得到同样的代码在localhost上运行良好的问题,但是在服务器上有什么问题?

这是型号代码

class Registration_model extends CI_Model {

function __construct()
{
    parent::__construct();
}

function index()
{
    $data['page_title'] = 'Registration';
    $this->load->view('client/general/head',$data);
    $this->load->view('client/general/header');
    $this->load->view('registration');
    $this->load->view('client/general/footer');
}
function busregister()
{
    $data['page_title'] = 'Registration';
    $this->load->view('business/registration1');

}

public function save_registration($un,$email,$pwd,$utype)
{
try
{
  $data = array(
 'username' => $un,
 'password' => $pwd,
 'email' => $email
 );
//print_r($data);
//die();
$this->load->database();
$this->db->reconnect();
if($utype=='buss')
{
    $dbRet=$this->db->insert('business', $data);     
}
else
{
    $dbRet-$this->db->insert('user', $data); 
}   
if (!$dbRet) {
  $ret['ErrorMessage'] = $this->db->_error_message();
  $ret['ErrorNumber'] = $this->db->_error_number();
  log_message('error', "DB Error: (".$ret['ErrorNumber'].") ".$ret['ErrorMessage']);
  $this->db->close();
return $ret['ErrorNumber'];
  }
  else{
   $rid=$this->db->insert_id();
$this->db->close();
return $rid;
  }
}
catch (Exception $e){
return -1;
}
}
}?>

这是控制器代码

class Registration extends CI_Controller {
public function index()
{
$this->load->helper(array('registration','date','country'));
$this->load->helper('client');
$this->load->model('Registration_model');
if ($this->input->post("submit_registration",TRUE))
{
 if($this->form_validation->run("stud_registration_rules"))
 {
    $this->load->library(array('encrypt'));
    $stud_first_name = $this->input->post('stud_user_name');
    $stud_email = $this->input->post('stud_email');
    $stud_pass = $this->input->post('stud_password');
    $retval=$this->Registration_model->save_registration($stud_first_name,$stud_email,$this->encrypt->encode($stud_pass),"user");
    var_dump($this->encrypt->encode($stud_pass));
    if($retval!==-1){   //SAVE SUCCESS
            $this->session->set_flashdata('flashSuccess', 'Record saved successfully.');
            redirect('/');
            }
            else{
            $this->session->set_flashdata('flashError', 'Error Saving Record');
            redirect('/registration');
            }
        }
        else{
        // FORM IS NOT VALIDATED
        $this->session->set_flashdata('flashError', 'Validation fields error');
            redirect('/registration');
        }
}

    $this->Registration_model->index();

} }

这是观看代码

<div class="content">
        <div class="container_12">
        <div class="grid_12">
        <?php if($this->session->flashdata('flashSuccess')) : ?>
        <div class="alert alert-success">
        <a href="#" class="close" data-dismiss="alert">&times;</a>
        <p><?php print_r($this->session->flashdata('flashSuccess'));
        ?></p>
        </div>
        <?php endif; ?>        
        <?php if($this->session->flashdata('flashError')) : ?>
        <div class="alert alert-danger">
        <a href="#" class="close" data-dismiss="alert">&times;</a>
        <p><?php print_r($this->session->flashdata('flashError'));
        ?></p>
        </div>
        <?php endif; ?>
            <?php echo registration_form();?>
            </div>
        </div>

1 个答案:

答案 0 :(得分:1)

在您的模型代码Registration_model中,其他部分assignment operator错误

更改以下行

$dbRet-$this->db->insert('user', $data);

$dbRet = $this->db->insert('user', $data);