코드/PHP

mysqli_fetch_array, mysqli_fetch_row, mysqli_fetch_assoc

Yeah-Panda 2015. 4. 12. 21:24

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

php 5.5 버전부터 mysql_fetch_assoc 는 곧 없어진다니 , mysqli_fetch_assoc 로 쓰자


'코드 > PHP' 카테고리의 다른 글

[PHP] mail() 함수 한글 깨짐  (0) 2015.06.22
PHP HTTP 인증  (0) 2015.04.17
Warning: mysqli_error() expects exactly 1 parameter, 0 given in PHP  (0) 2015.04.12
$_FILES 속성  (0) 2015.04.07
php 쿼리 where 절 문자열 값  (0) 2015.04.01