제목 | Update문 처리 결과로 affected_rows()을 사용 경우 주의 사항 | ||
---|---|---|---|
글쓴이 | 슘님 | 작성시각 | 2014/05/15 10:35:38 |
|
|||
혹시 모르실 분들을 위해 글 남겨봅니다. return $this->db-update(); return affected_rows() > 0; Model에서 return 로직으로 무엇을 사용할지 위의 두 코드를 가지고 고민고 (참고로 저는 CRUD 요청의 대부분을 Ajax로 처리합니다. (DB는 Mysql) DB에서 쿼리를 수행한 후 결과 값을 받은 후 View단에서 적절한 처리를 해줍니다. 그래서 이와 같은 선택이 중요했습니다. 물론 Form submit으로 구현한다고 안 중요한 것이 아닙니다.) 예로 게시판에 올린 글을 수정하는 경우를 들어 보겠습니다. 만약 사용자가 아무런 입력을 하지 않고 [수정] 버튼을 누릅니다. 데이터의 변화가 없기 때문에 mysql은 affected_rows()의 리턴값으로 0을 리턴합니다. 즉 affected_rows()의 결과에 따라 처리하는 로직이 다를 경우 잘못된 로직을 수행할 수 있습니다. 그래서 저는 $this->db->update('table'); if ($this->db->affected_rows() > 0) return TRUE; return FALSE;보다는 if ($this->db->update('table', $records)) return TRUE; return FALSE;을 사용합니다. |
|||
다음글 | 모든 테이블, 특정 키워드로 치환 소스 (INFORMA... (6) | ||
이전글 | OPEN ICON 사이트 | ||
들국화
/
2014/05/15 18:40:43 /
추천
0
좋은팁 이네요. ^^
|