코드/PHP

[PHP]mysqli_fetch_array, mysqli_fetch_row, mysqli_fetch_assoc

Yeah-Panda 2015. 6. 25. 18:06

mysqli_fetch_array, mysqli_fetch_row, mysqli_fetch_assoc

디비에서 불러온 값을 배열형식으로 저장해주는 함수들이다.
기본적으로 디비테이블 하나의 row 의 각 column 값을 가진 배열을 반환하고 row 가 없을 경우 false 를 반환한다.

참조 : http://php.net/manual/zh/function.mysql-fetch-row.php

차이점은 불러온 값을 저장해주는 방식이다.


mysqli_fetch_array (
[0]=>123,
[1]=>456,
['zero']=>123,
['first']=>456
)

똑같은 값이 zero 와 first 에 저장되고 인덱스의 0과 1 에도 저장된다.
두번 저장됨으로 메모리 낭비가 있다.

mysqli_fetch_row(
[0]=>123,
[1]=>456
)


값이 한번 저장됨으로 mysqli_fetch_array 보다는 메모리 낭비가 덜하다

[0]=>123, [1]=>456

근데 대규모 프로젝트의 경우 인덱스가 뭘 뜻하는 건지 다 알고 있어야하는 단점이 있다. 귀찮을지도..


mysqli_fetch_assoc(
['zero']=>123,
['first']=>456
)

컬럼명으로 저장하고 한번만 저장한다.
어느 블로그에서는 mysqli_fetch_array 나  mysqli_fetch_row 보다 추천하더라.
편하고 메모리효율도 좋아보인다.

참조 : http://php.net/manual/zh/mysqli-result.fetch-assoc.php