簡體   English   中英

Code Igniter在插入數據時捕獲錯誤(Active Record)

[英]Code Igniter catch errors on inserting data (Active Record)

我使用以下代碼將數據插入到我的數據庫中:

$this->db->set('event_id', $event_id);
...
$this->db->set('creator_id', $creator_id);

$this->db->insert('event');

如何確保過程成功並向用戶顯示確認消息,否則出現錯誤消息?

嗯,IIRC如果成功的話,方法返回true,所以你可以用簡單的方法

if($this->db->insert('event'))
{
  echo 'Row succesfully inserted!';
}

否則,您可能總是計算受影響的行

//....
$this->db->insert('event');
if($this->db->affected_rows() > 0)
{
  echo 'row succesfully inserted';
}

評論后更新

我相信你的三個insert_batch()在三個不同的表上,因此應該檢查每個表。 無論如何,令我困惑的是這個檢查的原因。查詢不會隨機失敗:可能他們永遠不會失敗,當他們這樣做時你會通過錯誤(記錄或延遲)知道。

“如果你需要獲取最后發生的錯誤,那么error()方法將返回一個包含其代碼和消息的數組。” https://www.codeigniter.com/userguide3/database/queries.html

$insert = $this->db->insert('event');

             if(!$insert){

                $error = $this->db->error(); // Has keys 'code' and 'message'
                echo "<BR><BR>";
                print_r($error);
                echo "<BR><BR>";
            }

            echo "Error contact the database admin.";
            die();

        }else{

            echo "SUCCESSFULLY INSERTED ITEM";
            return TRUE;
        }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM