2012-03-15 27 views
15

Trong Ci, tôi có chức năng sau đây. Làm cách nào để kiểm tra xem truy vấn đã được chèn thành công mà không có lỗi?Làm thế nào để kiểm tra nếu Ci chèn thành công dữ liệu

public function postToWall() { 
    $entryData = $this->input->post('entryData'); 
    $myChurchId = $this->session->userdata("myChurchId"); 
    $this->db->query("INSERT IGNORE INTO wallPosts (entryData, entryCreationDateTime, wpChurchId) 
         VALUES('$entryData', NOW(), '$myChurchId')"); 
} 

Trả lời

45

Bạn có thể sử dụng chức năng $this->db->affected_rows() của trình mã vạch.

Xem thêm thông tin here

Bạn có thể làm một cái gì đó như thế này:

return ($this->db->affected_rows() != 1) ? false : true; 
+0

cảm ơn người đàn ông! đây là một trợ giúp lớn. –

+10

Hoặc đơn giản: 'return $ this-> db-> affected_rows()> 0;' – harrison4

3

Bạn cũng có thể làm điều đó bằng Giao dịch như thế này:

  $this->db->trans_start(); 
      $this->db->query("INSERT IGNORE INTO wallPosts (entryData, entryCreationDateTime, wpChurchId) 
         VALUES('$entryData', NOW(), '$myChurchId')"); 
      $this->db->trans_complete(); 

      if ($this->db->trans_status() === FALSE) { 
       return "Query Failed"; 
      } else { 
       // do whatever you want to do on query success 
      } 

Dưới đây là more info vào giao dịch trong CodeIgniter!

Các vấn đề liên quan