제목 | $this->db->insert 사용시 | |||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
글쓴이 | 차가운바람 | 작성시각 | 2013/02/18 22:37:09 | |||||||||||||||||||||
|
||||||||||||||||||||||||
$data['a'] = $this->input->post('a'); $data['b'] = $this->input->post('b'); $this->db->insert('table',$data); 이렇게 데이터를 넣는데요 a,b값이 없을때 db에 a | b 0 0 이렇게 0값이 들어가는데요
phpmyadmin에서 이렇게 세팅 되어있는데요 0값이 안들어가게 할수있나요?? |
||||||||||||||||||||||||
다음글 | ci database 쿼리를 사용할 때 (7) | |||||||||||||||||||||||
이전글 | xml rpc 디버깅 어떻게 하나요? (1) | |||||||||||||||||||||||
수야디벨
/
2013/02/19 11:21:22 /
추천
0
|
kokanee
/
2013/02/19 12:15:56 /
추천
0
가장 좋은 디버깅은 출력을 해보느 것이죠.. 각 단계별로 var_dump를 찍어보세요.
1. var_dump($_POST); 2. var_dump($data); int 필드에 null이나 공백이 입력되면 0 으로 입력되는데요.. varchar 타입 필드에 0이 입력되는 걸 봐서는 넘어오는 값이 0 일듯 합니다. 혹시나 해서 $Input->post() 봤는데요.. 단순히 Post 값을 뽑아주는 역할만 합니다. 정말 이도 저도 아님 캐스팅을 한번해보세요..(이 것 안해도 될듯) $data[a] = (String) $this->input->post('a'); |
더 좋은 방법이 많겠지만 만약에 저라면 ,
1. 값이 없을때의 $data['a'] = $this->input->post('a'); 를 찍어본다.
2. 0이 출력 된다면 if($data['a'] == 0) 으로 조건을 주어서 insert를 실행시키지 않는다.
3. 만약 아무것도 출력이 되지 않는다면 empty()로 검사해서 insert를 시키지 않는다.