제목 | 액티브 레코드 실행 후 결과 | ||
---|---|---|---|
카테고리 | CI 2, 3 | ||
글쓴이 | 주말생각 | 작성시각 | 2021/02/05 13:32:12 |
|
|||
액티브 레코드 중에서 $this->db->update();을 사용하고 나서 쿼리가 제대로 실행했는지를 판별하기 위해서 쿼리 헬퍼 중에서 $this->db->affected_rows()을 사용하여 아래와 같은 코드를 작성하였습니다.
$data = ["id"=>$ID]; $this->db->where('ndx', $ndx); $this->db->update('book', $data); $rest = $this->db->affected_rows(); if( empty($rest) ){ echo "실패"; exit; } 그런데 업데이트가 제대로 이루어져도 $rest가 0으로 나와서 echo "실패";가 출력이 되네요. +보내는 값을 제가 제대로 안해서 생긴 오류였습니다. 그런데 변경하려는 id가 기존 DB에 있으면 업데이트가 실패하면서 에러페이지가 뜨는데 이것을 에러페이지를 보여주지 않고 alert로 "아이디 변경 실패"로 처리하고 싶은데 방법이 있을까요? |
|||
다음글 | redirect 시 주소창에 index.php 뜨는것 ... (2) | ||
이전글 | post 전송시 utf8 깨짐현상 (3) | ||
한대승(불의회상)
/
2021/02/05 13:33:30 /
추천
0
|
주말생각
/
2021/02/05 13:55:16 /
추천
0
@한대승(불의회상) 업데이트는 그냥 true로 처리하셔도 됩니다.라는 말씀이 $res = $this->db->update('book', $data); if( $res != true ) { eho "실패"; exit; } 를 말씀하시는 건가요? |
엽토군
/
2021/02/06 22:17:40 /
추천
0
새로 업데이트된 질문은 정말 오래된 문제인데.. 해당 컨트롤러가 최종적으로 해야 하는 것이 echo 라면 if (!$updated) { echo '<script>alert("업데이트 실패!"); window.history.back();</script>'; exit; } 만 실행하셔도 될겁니다. |
업데이트는 그냥 true로 처리하셔도 됩니다.
있으면 업데이트 될것이고, 없으면 안되니까요.
그런 맥락으로 보면 delete도 동일합니다.