제목 | for문을 사용하여 db에 데이터를 넣을려고 하는데 한번만 db에 데이터가 들어간 후 for문을 나와버리네요; | ||
---|---|---|---|
카테고리 | PHP | ||
글쓴이 | 정수리 | 작성시각 | 2016/11/16 14:18:20 |
|
|||
$sql = 'select jds_gigwan.gg_pk from jds_pact inner join jds_gigwan on jds_pact.gg_pk=jds_gigwan.gg_pk where pg_pk=?'; $query = $this->db->query($sql, $data['pg_pk']); $result = $query->result(); $sql = 'insert into jds_pinfo(gg_pk, pg_pk, pi_vs, pi_info) values(?, ?, ?, ?)'; echo count($result); for($i=0; $i<count($result); $i++){ $result = $this->db->query($sql, array($result[$i]->gg_pk, $data['pg_pk'], $data['up_version'], $data['up_ct'])); echo $i; }
첫번째 selet문을 돌여서 gg_pk의 갯수를 가져 온후에 for문을 사용하여
gg_pk의 갯수만큼 데이터를 넣을려고 합니다;
중간 중간 echo문을 통해 확인을 해보았는데
for문 이전에 echo count($result)를통해 17개 찍히는것 확인하였습니다
그리고 for문 안에 echo $i를 통해 $i가 몇인지 확인해보았는데 0만 찍히고 그다음부터는 안찍히더라구요;; 정상적이라면 count($result)17이니 17찍혀야 되는데 ㅜㅜ 데이터가 1번만 찍히고 for문을 나오는것 같습니다; for문 안에 return도 없는데 말이죠 다른 코드에서 for문을 통해 데이터를 넣었을때는 잘들어갔는데 새로 만드는 페이지에서는 안되네요;; 무엇이 원인인지 알수있을까요??; |
|||
다음글 | 카드결제기능이 아닌 자동이체 모듈을 구현할수 있나요? (2) | ||
이전글 | RAD Studio XE7 사용하 실줄 아시는분 (2) | ||
배강민
/
2016/11/16 14:45:15 /
추천
0
|
정수리
/
2016/11/16 15:26:58 /
추천
0
@배강민 감사합니다 말씀하신대로 $result= 를 바꿔서 해보니 정상적으로 잘 들어갑니다. 감사합니다. |
해보진 않았지만, $result 기준으로 for문을 돌면서 그안에서 $result를 바꿔버리고 있어서인듯합니다.
for 안의 $result = 를 $result2 = 등 다른 이름으로 해보시면 될듯 합니다.
즉, 첫 루프돌고나서 $result가 insert문의 결과로 재세팅되버리니 루프돌게 없어서 끝나버리는 듯 합니다.