代码之家  ›  专栏  ›  技术社区  ›  Lahiru Madushan

当我用PHP CodeIgniter更新数据时,它会给出一个错误。但数据正在保存

  •  1
  • Lahiru Madushan  · 技术社区  · 8 年前

    Error : Fatal error: Call to undefined method CI_DB_mysqli_driver::_error_number()

    在控制器中

    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

    3 回复  |  直到 8 年前
        1
  •  2
  •   Abdulla Nilam    8 年前

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

    在控制器中

    $rst = $this->MyModel->updateData("admin", $updateDataArray, $whereArr);
    
    if ($rst == TRUE) {
      echo "updated";
    }    
    else{
      print_r($rst);
    }
    

    阅读 Error Handling Codeigniter

        2
  •  1
  •   akbansa    8 年前

    在CodeIgniter 3+中,您可以使用以下命令获得错误和消息: $error = $this->db->error();

    参考: Handling Query Errors in CodeIgniter

        3
  •  0
  •   Mike S    8 年前

    您试图访问的函数已被弃用。

    替换:

    • $this->db->_error_number()
    • $this->db->_error_message()

    使用:

    • $this->db->error()

    https://www.codeigniter.com/userguide3/changelog.html?highlight=_error_number

    推荐文章