mysql_fetch_array

(PHP 4, PHP 5)

mysql_fetch_array - 결과 행을 연관 배열, 숫자 배열 또는 둘 다로 가져옵니다.

경고 이 확장은 PHP 5.5.0에서 더 이상 사용되지 않으며 PHP 7.0.0에서 제거되었습니다. 대신 MySQLi 또는 PDO_MySQL 확장을 사용해야 합니다. MySQL: API 선택 가이드도 참조하세요. 이 함수의 대안은 다음과 같습니다.


설명

mysql_fetch_array(resource $result, int $result_type = MYSQL_BOTH): array

가져온 행에 해당하는 배열을 반환하고 내부 데이터 포인터를 앞으로 이동합니다.


매개변수

result
평가 중인 결과 리소스입니다. 이 결과는 mysql_query()에 대한 호출에서 비롯됩니다.
result_type
가져올 배열의 유형입니다. 상수이며 MYSQL_ASSOC, MYSQL_NUMMYSQL_BOTH 값을 사용할 수 있습니다.

반환 값

가져온 행에 해당하는 문자열 배열을 반환하거나 더 이상 행이 없으면 false를 반환합니다. 반환된 배열의 유형은 result_type이 정의된 방식에 따라 다릅니다. MYSQL_BOTH(기본값)를 사용하면 연관 인덱스와 숫자 인덱스가 모두 있는 배열을 얻을 수 있습니다. MYSQL_ASSOC를 사용하면 연관 인덱스(mysql_fetch_assoc()가 작동하는 것처럼)만 얻고 MYSQL_NUM을 사용하면 숫자 인덱스(mysql_fetch_row()가 작동하는 것처럼)만 얻습니다.

결과의 두 개 이상의 열에 동일한 필드 이름이 있는 경우 마지막 열이 우선합니다. 같은 이름의 다른 열에 액세스하려면 열의 숫자 인덱스를 사용하거나 열에 대한 별칭을 만들어야 합니다. 별칭이 지정된 열의 경우 원래 열 이름으로 내용에 액세스할 수 없습니다.


Examples

예제 #1 별칭이 지정된 중복 필드 이름이 있는 쿼리

                  
SELECT table1.field AS foo, table2.field AS bar FROM table1, table2
                  
                

예제 #2 MYSQL_NUM이 있는 mysql_fetch_array()

                  
<?php
mysql_connect("localhost", "mysql_user", "mysql_password") or
    die("Could not connect: " . mysql_error());
mysql_select_db("mydb");

$result = mysql_query("SELECT id, name FROM mytable");

while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
    printf("ID: %s  Name: %s", $row[0], $row[1]);
}

mysql_free_result($result);
?>
                  
                

예제 #3 MYSQL_ASSOC를 사용하는 mysql_fetch_array()

                  
<?php
mysql_connect("localhost", "mysql_user", "mysql_password") or
    die("Could not connect: " . mysql_error());
mysql_select_db("mydb");

$result = mysql_query("SELECT id, name FROM mytable");

while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
    printf("ID: %s  Name: %s", $row["id"], $row["name"]);
}

mysql_free_result($result);
?>
                  
                

예제 #4 MYSQL_BOTH가 있는 mysql_fetch_array()

                  
<?php
mysql_connect("localhost", "mysql_user", "mysql_password") or
    die("Could not connect: " . mysql_error());
mysql_select_db("mydb");

$result = mysql_query("SELECT id, name FROM mytable");

while ($row = mysql_fetch_array($result, MYSQL_BOTH)) {
    printf ("ID: %s  Name: %s", $row[0], $row["name"]);
}

mysql_free_result($result);
?>
                  
                

노트

참고: Performance

주목해야 할 중요한 점은 mysql_fetch_array()를 사용하는 것이 mysql_fetch_row()를 사용하는 것보다 훨씬 느리지 않지만 상당한 부가 가치를 제공한다는 것입니다.

참고:

이 함수가 반환하는 필드 이름은 대소문자를 구분합니다.

참고:

이 함수는 NULL 필드를 PHP null 값으로 설정합니다.


기타