CI 묻고 답하기

제목 $this->input->post 값이 없을 경우
카테고리 CI 2, 3
글쓴이 경상도곰남 작성시각 2016/11/03 17:10:02
댓글 : 3 추천 : 0 스크랩 : 0 조회수 : 16934   RSS

 $this->input->post('bc_nation', TRUE) 형식으로 값을 받을 때

입력 값의 없을 경우 '0'으로 처리가 되는거 같은데요..

값을 없을 겨웅 공백이나 null로 값을 받을 방법은 없을까요?

 

아래의 방식대로 할려고 하니 필드가 너무 많아서요..

$wr_1        = $this->input->post('wr_1', TRUE);

$write_data = array(

                'wr_1'            => (!empty($wr_1)) ? $wr_1 : NULL,            

);

 

 다음글 $this->AAA->aaa()->bb... (1)
 이전글 CI 장바구니 질문드립니다. (1)

댓글

kaido / 2016/11/03 17:21:51 / 추천 0

php는 아래와 같은 값들을 비교연산에서 동일하게 취급 하기도 합니다.

0 null false  ""

input 의 빈 값은 제가 알기로는 var_dump 떠보시면 null 으로 판정이 됩니다.

empty 로 판별 하실려면 wr_1 이라는 값 자체가 전혀 받지 않을 경우에 판별 됩니다.

[즉 name = wr_1 이 아예 없는 경우]

'wr_1'            => ($wr_1) ? $wr_1 : NULL, 

 

이렇게 표현가능 합니다.

즉 이미 null 인지 아닌지 wr_1 에 기록이 되어 있단 이야기가 됩니다.

한대승(불의회상) / 2016/11/03 17:45:48 / 추천 0

그냥 아래처럼 하시면 됩니다.

$write_data = array(
    'wr_1' => $this->input->post('wr_1', TRUE)
);

CI가 알아서 '' 로 처리해 줍니다.

변종원(웅파) / 2016/11/03 17:54:09 / 추천 0
0으로 나오는 경우는 없었습니다. db 필드가 int라 0으로 들어간다면 모를까요. ^^