sql_fetch_array($result) 관련하여
본문
<?php
for ($i=0; $od=sql_fetch_array($result); $i++) {
$sql = " SELECT *
FROM {$g5['g5_cart_table']}
WHERE od_id = '{$od['od_id']}'
ORDER BY ct_id ASC ";
$result = sql_query($sql);
$ct_array = array();
for ($j=0; $ct=sql_fetch_array($result); $j++) {
$ct_array[] = $ct;
}
}
?>
안녕하세요 질문이 있어 문의 드립니다.
1번줄 for 문은 이미 order테이블에 관련된 sql 을 하여
result 로 받아 온 내용이고
그 for문 내부에서 다시 cart 테이블 조회하려고 하는데
그 cart 테이블에 관련된 for문에서 1번줄 위에서 $result 변수를 사용했다가
다시 cart 테이블 조회하는 sql 문도 $result 변수를 하용하였는데 이게 문제가 되는 걸까요?
이것 저것 페이지를 만들면서 테스트를 하다보니
저부분때문인것 같은 추측으로 트래픽이 1g 넘게 올라서
트래픽 초과가 생겼는데 저부분은 cr_result 이런 식으로 1번 for문에서 쓰이는 변수명과는 다르게 아니
문제가 더이상 생기지는 않았습니다.
정확한 원인이나 이유, 또 논리적(?)인 개념이 조금 알고 싶어서 질문글을 올려봅니다.
!-->
답변 1
이중 for문을 돌때 첫번째 for문의 기준이 되는 변수를 바꾸게 되면 당연히 for문이 의도된 대로 동작되지 않습니다.
for문에서 카운트되는 $i, $j를 별도로 두는것처럼 당연히 기준이 for문의 끝을 알리는 되는 기준이 되는 변수 또한 변하지 않는 고정된 값으로 두시거나, 탈출할 수 있는 특정한 조건 구문이 있어야 합니다.
답변을 작성하시기 전에 로그인 해주세요.