当我用 PHP CodeIgniter 更新我的数据时,它给出了一个错误。但是数据正在保存
When I update my data with PHP CodeIgniter, It gives an error. But data is saving
我正在使用 'CodeIgniter-3.1.3'。当我更新我的数据时,它给出了如下错误。但是我的数据保存在数据库中。我找不到问题所在。是不是我的模型函数有什么版本问题..?
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
您尝试访问的功能已被弃用。
替换:
$this->db->_error_number()
$this->db->_error_message()
与:
$this->db->error()
新函数将return一个包含错误编号和消息的数组。
请参阅此 CodeIgniter 页面:
https://www.codeigniter.com/userguide3/changelog.html?highlight=_error_number
这样做
模型中
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);
}
在 CodeIgniter 3+ 中,您可以使用以下命令获取错误编号和消息:
$error = $this->db->error();
我正在使用 'CodeIgniter-3.1.3'。当我更新我的数据时,它给出了如下错误。但是我的数据保存在数据库中。我找不到问题所在。是不是我的模型函数有什么版本问题..?
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
您尝试访问的功能已被弃用。
替换:
$this->db->_error_number()
$this->db->_error_message()
与:
$this->db->error()
新函数将return一个包含错误编号和消息的数组。
请参阅此 CodeIgniter 页面: https://www.codeigniter.com/userguide3/changelog.html?highlight=_error_number
这样做
模型中
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);
}
在 CodeIgniter 3+ 中,您可以使用以下命令获取错误编号和消息:
$error = $this->db->error();