mysqli_fetch
mysqli_fetch
주로 4가지로 나뉜다.
fetch_row, fetch_assoc, fetch_array, fetch_object.
네 함수 모두 공통적으로 mysql에 저장되어 있는 데이터베이스 들을 배열 또는 객체로 추출해 오는 함수다.
다음과 같은 DB가 있을때
(테이블명 : student)
필드명 | name | age |
저장값 | 김헤키 | 21 |
<fetch_row> - 숫자 인덱스로 배열을 반환.
Array (
[0] -> 김헤키
[1] -> 21
)
<fetch_assoc> - 필드명을 인덱스로 배열을 반환.
Array (
[name] -> 김헤키
[age] -> 21
)
<fetch_array> - 숫자, 필드명 인덱스로 배열을 반환.
Array (
[0] -> 김헤키
[name] -> 김헤키
[1] -> 21
[age] -> 21
)
<fetch_object> - 필드명 인덱스를 가진 객체를 반환.
stdClass Object (
[name] => CUFFS
[value] => アメサラサ
)
사용 예시
$conn = mysqli_connect( // mysql 접속
'서버명'
'MYSQL의ID'
'MYSQL의 패스워드'
'사용할DB 이름'
);
$sql = "SELECT * FROM student";
$result = mysqli_query($conn,$sql); // mysqli 에 쿼리문을 넣어준다.
$data = mysqli_fetch_<row or assoc or array or object>($result); // 4개 함수중에 한개를 선택
fetch_row 는 $data[0] => 김헤키 $row[1] => 21
fetch_assoc 은 $data['name'] => 김헤키 $data['age'] => 21
fetch_array 는 위 둘다 가능
fetch_object 는 $data->name => 김헤키 $data->age => 21
* 속도는 fetch_object > fetch_array > fetch_assoc > fetch_row 순으로 느리다고 한다.
출처: https://programming119.tistory.com/10 [개발자 아저씨들 힘을모아]