sql_fetch_array

sql_fetch_array

QA

sql_fetch_array

본문

3731409700_1600328290.3659.png

위 코드를 실행시켯을때 notification 테이블에서 입력한 mb_id 가 모두 나와야 되는데

print_r2 함수로 확인해보니 테이블에서 제일 첫번째 값 하나만 출력됩니다.

그래서 sql_query($sql); 의 반환값을 출력해보니 

3731409700_1600328409.3606.png

이렇게 출력되는데 num_rows 를 보면 제가 불러오려고했던 row 들이 모두있습니다.

sql_fetch 도 아닌데 왜 첫번째 row 하나만 출력되는걸까요...?

이 질문에 댓글 쓰기 :

답변 3

$row = sql_fetch_array($result);  <---첫번째 레코드 가져옵니다

한번더 하면

$row = sql_fetch_array($result);  <--두번째 레코드를 가져옵니다

 

$row[]배열에는 레코드의 컬럼(필드명)이 인자로 들어갑니다

 $row['no'] , $row['name'] 같은 형식이죠

여러 레코드 값들이 배열로 들어가는 것이 아닙니다

 

반복문으로 돌려야합니다. 그렇게 하면 하나만 가져옵니다.

그누보드 소스에 sql_fetch_array 로 검색해보면 참고할 내용이 많습니다.

 

예를 들어 파일 정보 가져오는 소스는 아래와 같은데

 while ($row = sql_fetch_array($result)) {

            $no                    = $row['bf_no'];

            $file[$no]['href']     = G5_BBS_URL . "/download.php?bo_table=$bo_table&wr_id=$wr_id&no=$no" . $qstr;

            $file[$no]['download'] = $row['bf_download'];

  

..나머지 생략

 

        }

이런식인데 

return $file; 

로 함수 끝에 넣어주면 됩니다.

$row = sql_fetch_array($result);
이렇게 받아오면 $row[''] 이런식으로 쓸수있잖아요?
함수의 반환된 값으로 $row[''] 이렇게 쓰려면 어떻게 해야될까요?
$g5 나 $config 함수들 처럼요.

$sql = "select * from notification where mb_id = '$mb_id' ";
$row = sql_fetch($sql);
echo $row['mb_id'];

 

다만, 이렇게 쓰는 경우는 결과값이 1줄만 있을 때 유용합니다.

결과값이 여러줄인 경우에는.. 가장 첫번째 줄의 정보만 가져옵니다.

답변을 작성하시기 전에 로그인 해주세요.
전체 123,128 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT