1. mysql_fetch_row()
mysql_fetch_row()는 데이터를 0으로 시작하는 숫자형 인덱스 배열로 반환합니다.
$row = mysql_fetch_row($result);
echo $row[0];
2. mysql_fetch_assoc()
mysql_fetch_assoc()는 데이터를 문자형 연관 배열로 반환합니다.
배열의 키 이름으로는 필드의 이름을 갖습니다.
$row = mysql_fetch_assoc($result);
echo $row['key'];
3. mysql_fetch_array()
mysql_fetch_array()는 $result_type의 값에 따라 반환될 배열의 형태가 다릅니다.
$result_type의 값으로는 아래와 같은 상수가 올 수 있으며, 기본값은 MYSQL_BOTH입니다.
– MYSQL_NUM: 이 상수를 사용하면 숫자형 인덱스 배열을 반환합니다. = mysql_fetch_row()
– MYSQL_ASSOC: 이 상수를 사용하면 문자형 연관 배열을 반환합니다. = mysql_fetch_assoc()
– MYSQL_BOTH: 이 상수를 사용하면 인덱스 배열과 연관 배열을 동시에 반환합니다.
ex) $row = mysql_fetch_array($result, MYSQL_BOTH)
echo $row['key'];
4. mysql_result()
mysql_result($query,0,0); => ‘ 0행 0열 값 ‘
mysql_result($query,0,1) => ‘ 0행 1열 값 ‘
mysql_result($query,1,1) => ‘ 1행 1열 값 ‘
5. 주의 사항
mysql_fetch_row(), mysql_fetch_assoc(), mysql_fetch_array() 세 함수는 한 행에서 데이터를 읽습니다.
또한 데이터를 읽은 후 함수 내부의 포인터를 증가시켜 다시 호출될 때 다음 행을 읽을 수 있도록 합니다.
이후데 다시 동일한 결과를 호출 하면은 0번이 아닌 1번부터 나오며 이를 초기화하는 방법은 다음과 같습니다.
//mysql
mysql_data_seek($result, 0);
//mysqli
$result= $con->query($query);
$result->data_seek(0);