更新完成后,codeigniter update返回空白页面

时间:2013-05-20 19:12:33

标签: php codeigniter

我正在尝试使用CI运行更新查询。

我的模特是:

function update($data)
{
    $pack = array(
        'PID'           => $data['PID'],
        'firstName'     => $data['FirstName'],
        'lastName'      => $data['LastName'],
        'BirthDate'     => $data['BirthDate'],
        'FID'           => $data['FID'],
        'BaseType'      => $data['BaseType'],
        'RaiName'       => $data['RaiName'],
        'FullAddress'   => $data['FullAddress'],
        'Company'       => $data['Company'],
        'StartDate'     => $data['StartDate'],
        'EndDate'       => $data['EndDate'],
        'Safudzveli'    => $data['Safudzveli']
    );

    $this->db->where('id',$data['Id']);
    $this->db->update('table',$pack);
}

调用模型后,数据库会更新,但控制器会返回一个空白页面。 看来控制器中的线路在我调用模型之后, 什么都没有被执行(Display_Errors在php.ini中打开,所以我会看到任何数据库错误。)

有人知道会出现什么问题吗?

这是控制器:

public function Edit()
{
    $this->load->helper('url');
    if ($_POST) {
        $data = $_POST;
        $this->main->update($data);
        redirect('http://localhost/prac', 'refresh');
    }else{
        $this->load->view('index');
    }
}

3 个答案:

答案 0 :(得分:0)

在数据阵列上有数据['PID']。你在哪里声明你有数据['id']。从你提供的代码我认为你的where语句应该是这样的

$this->db->where('id',$data['PID']);

答案 1 :(得分:0)

我认为重定向应该是这样的

redirect(site_url('controller/Method(if there)'));
die();

redirect(site_url('controller/Method(if there)')); die();

答案 2 :(得分:-1)

Codeigniter清理$ _POST数组,因此如果您希望该代码有效,则必须使用CI输入库

尝试使用$ this-> input-> post()