我正在使用“CodeIgniter-3.1.3”。当我更新数据时,会出现如下错误。但是我的数据保存在数据库中。我找不到问题所在。我的模型功能与版本有关吗?



在 Controller 中

public function saveUpdateData(){
    $updateDataArray = array(
        "fname" => $_POST['fname'],
        "lname" => $_POST['lname'],
        "username" => $_POST['user'],
        "userlevel" => $_POST['userlevel'],
        "contact" => $_POST['contact_no']
    );
    $whereArr=array("user_id"=>$this->input->post("user_id"));
    $rst = $this->MyModel->updateData("admin", $updateDataArray, $whereArr);

    if ($rst) {
      echo "updated";
    }
    else{
      echo "error";
    }
}

在模型
function updateData($tablename, $data_arr, $where_arr) {
    try {
        $this->db->update($tablename, $data_arr, $where_arr);
        $report = array();
        $report['error'] = $this->db->_error_number();
        $report['message'] = $this->db->_error_message();
        return $report;
    } catch (Exception $err) {
        return $err->getMessage();
    }
}

enter image description here

最佳答案

像这样

在模型中

function updateData($tablename, $data_arr, $where_arr)
{
    if (!$this->db->update($tablename, $data_arr, $where_arr)) {
        $result = $this->db->error();
    }
    else {
        return TRUE;
    }
}

在 Controller 中
$rst = $this->MyModel->updateData("admin", $updateDataArray, $whereArr);

if ($rst == TRUE) {
  echo "updated";
}
else{
  print_r($rst);
}

阅读Error Handling Codeigniter

09-03 23:29
查看更多