테스트 사이트 - 개발 중인 베타 버전입니다

[sql_fetch_array]배열을 쿼리결과값형태로 변환가능한가요? 채택완료

우가차차 10년 전 조회 5,180

curl로 받아와서 배열형태로 만들었는데요

이걸 sql_fetch_array()에서 표현가능할지 싶어서 질문올립니다.

사용 의도는 db쿼리를 사용할때와 curl로 받아서 사용할때모드 쓰고자 함입니다.

 

curl롤 받아온내용은 json형식으로 받고있습니다. json_decode( , true)로 연관배열

형태로 변환한상태인데 어떤방식이 됐든... 노가다 없이 가능할까요...?

매일 야근에 힘든데 노가다까지 해야될상황이라니... ㅜ,.ㅠ

댓글을 작성하려면 로그인이 필요합니다.

답변 3개

채택된 답변
+20 포인트
10년 전

글쎄요...이게 curl로 받아온 배열이 어떤 형태인지 전혀 짐작이 안되니,

어찌될려나 모르겠네요.

 

each로 사용한 배열은 다 쓰고 나면 reset() 으로

커서를 다시 처음으로 돌려두어야. 나중에 다시 쓸때 첨부터 뽑아쓸 수 있을테고,

 

그나저나 아무래도 이건 원하는 답이 아닐듯하네요.

 

common.php 의

</p><p>function sql_fetch_array($result)
{
    $row = @mysql_fetch_assoc($result);
    return $row;
}</p><p> </p><p>// 이렇게 바꿔보는게 어떨지
function sql_fetch_array($result)
{
 $row = array();
 if(is_array($result)) {
   $row = each($result);
 } else {
   $row = @mysql_fetch_assoc($result); 
 }
 return $row;
}​</p><p>

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

우가차차
10년 전
함수로 each를 사용하니 계속 초기인덱스만 읽어버리네요. while로돌렸더니 무한루프잼 ㅠㅜ 아래 적은 형식문제는 list($key ,$row)로 빼서 row만 리턴하면 어찌될듯싶은데...

댓글을 작성하려면 로그인이 필요합니다.

10년 전

해결했네요

 

</p><p style="margin-left: 0px;">function sql_fetch_array($result)</p><p style="margin-left: 0px;">{</p><p style="margin-left: 0px;"><span class="Apple-tab-span" style="white-space: pre;">		</span> $row = array();</p><p style="margin-left: 0px;"><span class="Apple-tab-span" style="white-space:pre">		</span> if(is_array($result)) {</p><p style="margin-left: 0px;"><span class="Apple-tab-span" style="white-space:pre">			</span>static $res_array;</p><p style="margin-left: 0px;"><span class="Apple-tab-span" style="white-space:pre">			</span>if(!$<span style="font-size: 14.6666669845581px; line-height: 1.5;">res_array</span><span style="font-size: 11pt; line-height: 1.5;">​ </span><span style="font-size: 11pt; line-height: 1.5;">&& $</span><span style="font-size: 14.6666669845581px; line-height: 1.5;">res_array</span><span style="font-size: 11pt; line-height: 1.5;">​</span><span style="font-size: 11pt; line-height: 1.5;">!== $result)</span></p><p style="margin-left: 0px;"><span class="Apple-tab-span" style="white-space:pre">				</span>$<span style="font-size: 14.6666669845581px; line-height: 1.5;">res_array</span><span style="font-size: 11pt; line-height: 1.5;">​</span><span style="font-size: 11pt; line-height: 1.5;">= $result;</span></p><p> </p><p style="margin-left: 0px;"><span class="Apple-tab-span" style="white-space:pre">			</span>list($key, $row) = each($<span style="font-size: 14.6666669845581px; line-height: 1.5;">res_array</span><span style="font-size: 11pt; line-height: 1.5;">​</span><span style="font-size: 11pt; line-height: 1.5;">);</span></p><p style="margin-left: 0px;"><span class="Apple-tab-span" style="white-space:pre">		</span> } else {</p><p style="margin-left: 0px;"><span class="Apple-tab-span" style="white-space:pre">			</span> $row = @mysql_fetch_assoc($result); </p><p style="margin-left: 0px;"><span class="Apple-tab-span" style="white-space:pre">		</span> }</p><p style="margin-left: 0px;"><span class="Apple-tab-span" style="white-space:pre">		</span> return $row;</p><p>}</p><p>

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

야식금지
10년 전
에고 제가 실수를 했었네요. 전역으로 처리했어야되는데...

암튼 멋진 코드입니다.

댓글을 작성하려면 로그인이 필요합니다.

10년 전
덕분에 좀더 접근하게됐네요 감사합니다. 배열 형식은 $row[0]['it_id'] 요런식으로 되있습니다. each로 돌리니 어느정도 접근까지는 됐는데 while문안에서 배열형식으로 쓸려니 접근이 하나더 필요할듯한데...
로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인