2012-04-04 35 views
8

Hiện nay trong điều khiển của tôi, khi thêm dữ liệu mới, tôi xác nhận các đầu vào, và nếu có bất kỳ vấn đề nó cho phép người dùng đã biết, nếu không nó chuyển dữ liệu với mô hình để chèn vào cơ sở dữ liệuCodeIgniter Cơ sở dữ liệu Chèn Không

Làm cách nào để kiểm tra câu lệnh chèn đã hoạt động chính xác trong mô hình và cho người dùng biết nếu nó không hoạt động.

Có một câu lệnh chèn như dưới đây, trả về true hoặc false, sau đó có thể trả lại cho bộ điều khiển không?

$this->db->insert('Faviroute_Addresses', $address_data); 

Nhờ sự giúp đỡ

Trả lời

24

Bạn có thể sử dụng

if($this->db->insert('Faviroute_Addresses', $address_data)) 
{ 
    // Code here after successful insert 
    return true; // to the controller 
} 

Hoặc bạn có thể sử dụng

$this->db->insert('Faviroute_Addresses', $address_data); 
if($this->db->affected_rows() > 0) 
{ 
    // Code here after successful insert 
    return true; // to the controller 
} 
+0

một điều cần lưu ý rằng tôi đã gặp phải gần đây là nếu bạn đang sử dụng $ this-> db-> affected_rows() cho truy vấn UPDATE, nó sẽ trả về 0 nếu truy vấn thành công nhưng không có thông tin đã được thay đổi từ những gì đã tồn tại trong ro w. –

1

Cá nhân tôi muốn tránh sử dụng các

$this->db->affected_rows() 

phương pháp chèn. SQLServer không trả lại giá trị cho một chèn, do đó, lấy giá trị trả lại từ

$this->db->insert(...) 

sẽ đáng tin cậy hơn. Tôi muốn dành affected_rows để kiểm tra "UPDATE" s :)

UPDATE:

Điều tương tự cũng áp dụng cho

$this->db->delete() 

Các affected_rows() chức năng không hoạt động trong SQL Server trên xóa ...

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