gpt4 book ai didi

php - Active Record Codeigniter 中的自定义错误

转载 作者:行者123 更新时间:2023-11-30 23:00:31 24 4
gpt4 key购买 nike

我正在使用 HMVC。我的问题很简单。我们如何捕捉事件记录中的错误?我们如何从模型(事件记录)向 Controller 返回自定义错误?

实际上,msn 列是唯一的,所以当我输入重复值时,它会显示错误

错误号:1062

key “msn”的重复条目“3696003284”

但我想显示自定义错误而不是这个。

我的简单代码是:

function insert_data($msn_number, $date_val, $min_val, $max_val, $avg_val,$counter)
{
for($i=0;$i<$counter;$i++)
{
$data = array(
'msn' => $msn_number[$i],
'date' => $date_val[$i],
'min_val' => $min_val[$i],
'max_val' => $max_val[$i],
'average' => $avg_val[$i]
);
$result = $this->db->insert('storage_data', $data);
if(!isset($result))
{
echo "custom Error";
}

}
}

我想知道这个问题的答案,请帮助我!

最佳答案

你可以试试这个:

$result = $this->db->insert('storage_data', $data);
if (!$result) {
$data['msg'] = $this->db->_error_message();
$this->load->view('viw_db_error', $data); // Create a viw_db_error.php view
}

确保在 application/config/database.php 文件中将 DB_DEBUG 设置为 FALSE,否则如果出现 mysql 发生错误。

更新:

或者,您可以在每次插入新记录之前查询它,但这会非常昂贵,因为您是在循环中进行的,并且它会发送许多查询/请求:

$q = $this->db->query("select msn from storage_data where msn = $msn_number[$i]");
if( $q->num_rows() ) {
// It already exists so maybe display a message
}

关于php - Active Record Codeigniter 中的自定义错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24277326/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com