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