본문 바로가기
Study/php

[PHP] MySQL 레코드 가져오기 (mysqli_fetch_array)

by 오늘만 사는 여자 2022. 2. 10.
728x90
반응형

1. mysqli_fetch_array 의 정의

- PHP mysqli_fetch_array란?

mysqli_fetch_array 함수는 mysqli_query를 통해 얻은 리절트 셋(result set)에서 레코드를 1개씩 리턴해주는 함수다.

레코드를 1개씩 리턴해주는 것은 mysqli_fetch_row 나 mysqli_fetch_assoc와 동일하지만 리턴하는 배열의 형태가 틀리다.

mysqli_fetch_array함수는 순번을 키로 하는 일반 배열과 컬럼명을 키로하는 연관배열 둘 모두 값으로 갖는 배열을 리턴한다.

함수명 리턴값
mysqli_fetch_row 일반 배열
mysqli_fetch_assoc 연관 배열
mysqli_fetch_array 일반 배열 + 연관 배열

2. mysqli_fetch_array 사용방법

mysqli_fetch_array([리절트 셋]);

3. 예제 데이터

 - 테이블 정보

DB명 test_db
테이블명 test_table

- test_table 레코드 정보

seq name
1 홍길동
2 일지매
3 임꺽정
4 이순신
5 강감찬
6 김유신

 

4. mysqli_fetch_array 예제

 

 - 예제 1



   test_table 의 모든 레코드를 select 구문으로 조회하고 그 결과인 리절트 셋에 대해
   mysqli_fetch_array를 1회 실행한 후 그 결과를 출력하시오.
 

 

 - 예제 1 소스



   $conn mysqli_connect("127.0.0.1""root""1234""test_db");


   $select_query "SELECT seq, name FROM test_table";
   $result_set mysqli_query($conn$select_query);


   $row mysqli_fetch_array($result_set);


   echo '$row : ';
   print_r($row);
   echo '<br>';


   mysqli_close($conn);
 

 

 - 결과



   $row : Array ( [0] => 1 [seq] => 1 [1] => 홍길동 [name] => 홍길동 )
 

 

 [참고사항] mysqli_fetch_array 리턴 결과



   mysqli_fetch_array 함수가 리턴하는 결과배열은 mysqli_fetch_row 와 mysqli_fetch_assoc 함수가
   리턴하는 배열을 합쳐 놓은 형태입니다.
 

 - 예제 2



   test_table 의 레코드 중 seq 가 4 이하인 레코드를 select 구문으로 조회하고 그 결과인 리절트 셋에 대해
   mysqli_fetch_array 와 while 문을 이용하여 출력하시오.
 

 - 예제 2 소스



   $conn mysqli_connect("127.0.0.1""root""1234""test_db");


   $select_query "SELECT seq, name FROM test_table WHERE seq <= 4";
   $result_set mysqli_query($conn$select_query);


   while ($row mysqli_fetch_array($result_set)){
      print_r($row);
      echo '<br>';
   }


   mysqli_close($conn);
 

 - 결과



   Array ( [0] => 1 [seq] => 1 [1] => 홍길동 [name] => 홍길동 )
   Array ( [0] => 2 [seq] => 2 [1] => 일지매 [name] => 일지매 )
   Array ( [0] => 3 [seq] => 3 [1] => 임꺽정 [name] => 임꺽정 )
   Array ( [0] => 4 [seq] => 4 [1] => 이순신 [name] => 이순신 )
 

 

출처 : https://m.blog.naver.com/diceworld/220295811114

728x90
반응형

댓글