-
mysql_fetch_arrayPHP 2012. 3. 29. 15:11
mysql_fetch_array
[PHP 4, PHP 5]
array mysql_fetch_array ( resource result [, int result_type ])
쿼리의 결과 레코드를 숫자 인덱스 배열이나 연관 배열로 변환한다.
인자 자료형 설명 비고
result resource mysql_query() 함수의 반환 값 필수
result_type int 결과 배열의 형태 (MYSQL_BOTH)가 기본값)
mysql_assoc, mysql_num, mysql_both 옵션
mysql_fetch_array() 함수는 mysql_fetch_row() 함수와 mysql_fetch_assoc() 함수를 합친
것과 같다.
result_type 옵션을 통해서 둘 중 하나의 방식을 선택하거나 아니면 둘 모두의 방식을
선택할 수 있다.
기본적으로는 두 가지 방식 모두를 지원한다. 이 세 함수는 성능적으로 차이가
없다.
따라서 통합 함수인 mysql_fetch_array() 함수를 이용하는 것이 낫다. 그런데 숫자
인덱스 배열은 되도록이면 사용하지 않는 것이 좋다.
숫자 인덱스를 사용하게 되면 나중에 테이블의 변경으로 필드의 순서가 변경되었을 때
이를 반영하지 못하기 때문에 엉뚱한 위치에 엉뚱한 값을 출력하게 된다.
그러나 만약 for 문을 이용하여 값을 출력하고자 한다면 숫자 인덱스는 매우 유용하게 사용할 수 있다.
================================================
한 마디로 말하면
레코드 한개 가져오기
배열 인덱스에 개수 사용
$row=mysql_fetch_row($result);
배열 인덱스에 필드이름 사용
$row=mysql_fetch_array($result);
=================================================
입니다.
<?php
// Make a MySQL Connection
mysql_connect("localhost", "admin", "1admin") or die(mysql_error());
mysql_select_db("test") or die(mysql_error());
// Retrieve all the data from the "example" table
$result = mysql_query("SELECT * FROM example")
or die(mysql_error());
// store the record of the "example" table into $row
$row = mysql_fetch_array( $result );
// Print out the contents of the entry
echo "Name: ".$row['name'];
echo " Age: ".$row['age'];
?>
여기에서는 결과는 웹 브라우저에서 확인하면
다음과 같습니다.
========================================================
Name: Timmy Mellowman Age: 23
===================================================
그리고 mysql 에서 확인하면
mysql> select * from example;
+----+-----------------+------+
| id | name | age |
+----+-----------------+------+
| 9 | Timmy Mellowman | 23 |
| 10 | Sandy Smith | 21 |
| 11 | Bobby Wallace | 15 |
| 12 | 김건모 | 16 |
+----+-----------------+------+
4 rows in set (0.00 sec)
=======================================
첫 행에서 가져왔음을 알 수 있습니다.
| 9 | Timmy Mellowman | 23 |