CI 묻고 답하기

제목 배열 결과로 프로시져 콜을 하고 싶습니다.
글쓴이 localhost 작성시각 2014/12/16 10:46:17
댓글 : 1 추천 : 0 스크랩 : 0 조회수 : 13718   RSS
안녕하세요. 

$query = $this->db->query("select ID, Pass from some_table")
으로 some_table에서 id, pass등을 가져온 다음 이걸 가지고 
프로시져 콜을 하려고 합니다. 

일단 $query 에서 나온 결과를 가지고

                foreach ($query -> result()  as $row)
                {
                    $arr = $row->id.','.$row->pass;
                   
                    $sql1 = "CALL pr_name('$arr')";

                    $ret1 = $this->db->query($sql1); 
                    
                    foreach ($ret1 -> results() as $row1) {
                        echo "<tr>";
                        echo "<td>".$row1->프로시저결과1."</td>";
                        echo "</tr>";    
                    }
                }
이런식으로 프로시져에 넣을려고 하면, 
$query 에서 나온 결과가 3개라면 프로시져가 3번이 콜되더군요 

CALL pr_name('id1, pass1')
CALL pr_name('id2, pass2')
CALL pr_name('id3, pass3')

foreach 에서 돌다보니 그런거 같은데...
궁금한게 $query 에서 나온 결과값을 하나의 문자열?? 로 해서 프로시저 콜을 하고 싶은데 
php 접한지 며칠 안되다보니 어렵네요. 도움 부탁 드립니다.
 다음글 Ci 암호화 대해서 질문드립니다. (2)
 이전글 코이에서 변수용 파일을 따로 빼낸 후, 사용하는 방법 (3)

댓글

taegon / 2014/12/16 11:16:56 / 추천 0
이런 경우라면 pr_name 프로시저에 id, pass를 불러오는 select 쿼리를 넣어서 결과를 받아오시는 것이 좋을것 같습니다.
딱히 배열로 념겨줄 방법은 없어서 념겨준다면 1;2;3;4 이런식으로 구분자를 넣어서 string 형태로 전달하여 처리 하시는 방법이 최선이라고 보여집니다.