# [PHP] mysql_fetch_assoc 와 mysql_fetch_array의 차이점

두 함수는 데이터 값을 연관배열을 써서 가져오는 함수이다.

둘다 기능이 비슷하지만 약간의 차이가있다.

차이점은 print_r해보면 알 수있다.


1. mysql_fetch_assoc의 경우 print_r하면 키값에 데이터값을 가지고있다.

ex) 필드명 => 데이터값

2. mysql_fetch_array는 숫자형키값에 데이터값을 가지고있다.

ex) 0 => 데이터값


여기서 연관배열이란 키값을 가지고 있는 배열이라고 하여 다차원 배열이라고 보면된다.


참고사이트 :

- phpstorm (http://www.phpschool.com/gnuboard4/bbs/board.php?bo_table=qna_function&wr_id=304539)

=====좀더 상세한 설명^^==========================

mysql_fetch_array(), mysql_fetch_assoc() 는 DB에서 가져온 내용의 값을 배열변수에 대입하는 역할

mysql_fetch_array() 는 위에서 작성한 것과 같이,

$row[0], $row[1], $row[2], $row[3] .......
$row[no], $row[title], $row[content], $row[regdate] .......

이 두 문법으로 어떤 것이든 사용가능하다. 허나 [1], [2] 형식으로 사용하기엔
테이블의 정보가 머리속에 꿰차고 있지 않는 이상, 간단한 COUNT() 함수나 as 문으로 가져온 내용만 사용하게 됨

즉, 쉽게 설명 하자면 서버 메모리에 같은 value값의 배열변수가 두개씩 저장이 된다는 점.

mysql_fetch_assoc() 는 [1][2][3] 형식의 키값은 저장이 안되고 오직
테이블의 필드명으로 저장, [no][title][content] 값들만 저장됨.
서버에 부하를 덜어주는 중요한 함수

'PHP > php_mysql연동' 카테고리의 다른 글

network연결하여 Image 불러오기  (0) 2013.07.04
PHP 메모리 부족 134217728  (2) 2013.07.03
PHP로 Mysql 연동(1)  (0) 2013.07.03

+ Recent posts