0

我正在尝试使用 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');
    }
}
4

3 回答 3

0

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

$this->db->where('id',$data['PID']);
于 2013-05-20T20:14:55.693 回答
0

我认为重定向应该像

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

于 2013-05-21T05:00:16.517 回答
-1

Codeigniter 清理 $_POST 数组,因此如果您希望该代码正常工作,您必须使用 CI 输入库

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

于 2013-05-20T21:20:57.343 回答