제목 | mysql insert 시에 변수에 값이 없을 때 에러 | ||
---|---|---|---|
글쓴이 | 박쥐 | 작성시각 | 2014/10/22 15:20:16 |
|
|||
MySQL INSERT 시에 VALUES ($a, $b, $c) 이런식으로 변수를 넣었습니다. 근데 변수가 할 당 되지 않을 경우 ------------------------------------------------------------------------------------ You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' '', '', 90, 'N', 'master')' at line 3 insert into account (dobNo, accName, hp, email, busiCode, postcode, address, ratio, state, addEmployee) values (1, '�씤�꽣�뙆�겕', '', '', , '', '', 90, 'N', 'master') ------------------------------------------------------------------------------------ 이렇게 위와 같은 에러가 뜹니다. Mysql 스키마 정보와 해당 소스코드를 첨부하였습니다. 변수가 할 당되지 않으면 그냥 자동으로 NULL값이 들어갈 수 있을까요? function add() { $dobNo = $this->input->post('dobNo'); $accName = $this->input->post('accName'); $hp = $this->input->post('hp'); $email = $this->input->post('email'); $busiCode = $this->input->post('busiCode'); $postcode = $this->input->post('postcode'); $address = $this->input->post('address'); $ratio = $this->input->post('ratio'); $state = $this->input->post('state'); $userId = $this->session->userdata('userId'); $this->db->query("insert into account (dobNo, accName, hp, email, busiCode, postcode, address, ratio, state, addEmployee) values (".$dobNo.", '".$accName."', '".$hp."', '".$email."', ".$busiCode.", '".$postcode."', '".$address."', ".$ratio.", '".$state."', '".$userId."')"); } |
|||
다음글 | 장바구니 관련 질문입니다. (5) | ||
이전글 | foreach문.. 라디오버튼 피드백좀 부탁드립니다 꾸... (6) | ||
아싸리비아
/
2014/10/22 15:32:07 /
추천
0
|
박쥐
/
2014/10/22 15:41:33 /
추천
0
값이 없을 경우 초기화를 해주면 해결이 되겠네요...
다른 방법은 없는 것이죠? 일일이 초기화 하기가 귀찮은 작업이라서요... 답변 감사드립니다. |
아싸리비아
/
2014/10/22 15:47:41 /
추천
0
방법은 여러가지가 존재할수 있습니다만..
원하시는걸 하실려면 전체 코드를 다 뜯어고치셔야 할듯 보입니다. query를 라이브러리단으로 넘겨서 초기화 및 쿼리 생성 기능이 필요할듯 보이며, 현재 로직이 아닌 액티브레코드 방식으로 고치는 등 방법이 많아보이지만 비추드립니다. 현재 코드에서 쉽게 처리 할수 있는 방법은 초기화 하는 방법으로 보이며, 초기화 같은경우는 좋은 습관이니 귀찮으시더라도 꼭 하시는게 좋아보입니다. |
박쥐
/
2014/10/22 15:54:30 /
추천
0
답변 감사합니다. 초기화 하도록 하겠습니다 ^^ 좋은하루되세요`
|
kaido
/
2014/10/22 20:59:51 /
추천
0
초기화 말고 다른 방법으로는 미리 밴틱을 감아 두거나, 액티브레코드를 이용하시면 됩니다.
후자의 경우가 보안상 더 좋습니다. |
insert 문 중 , , 와 같이 들어가는 문제가 발생됩니다.
query 날리기전
if(!isset($busiCode))
$busiCode = 0; // or null;
와 같이 초기화 해주시는게 좋을걸로 보여집니다.