PHP에서 기존 MySQL 테이블에 저장된 데이터를 가져올 때는 주로 mysql_query() 함수와 mysql_fetch_array() 함수를 함께 사용합니다. 이 글에서는 두 함수의 역할, 문법, 그리고 각 매개변수의 의미를 하나씩 자세히 살펴보겠습니다.
1. mysql_query() 함수
mysql_query() 함수는 PHP 스크립트에서 SQL 쿼리를 실행하여 기존 MySQL 테이블로부터 데이터를 가져오는 역할을 합니다. 이 함수는 두 개의 매개변수를 받으며, 쿼리 실행에 성공하면 TRUE(또는 결과 리소스)를 반환하고 실패하면 FALSE를 반환합니다.
문법
bool mysql_query( sql, connection );
매개변수 설명
| 번호 | 매개변수 및 설명 |
|---|---|
| 1. | sql 필수 항목 — 기존 MySQL 테이블에서 데이터를 가져오기 위한 SQL 쿼리(SELECT 문 등)를 지정합니다. |
| 2. | connection 선택 항목 — 생략하면 mysql_connect()로 가장 최근에 연결된 연결이 자동으로 사용됩니다. |
2. mysql_fetch_array() 함수
mysql_fetch_array() 함수는 mysql_query()가 반환한 결과 집합에서 실제 데이터를 한 행씩 가져오는 함수입니다. 가져온 행은 연관 배열(associative array), 숫자 인덱스 배열(numeric array), 또는 두 형식 모두로 반환할 수 있으며, 더 이상 가져올 행이 없으면 FALSE를 반환합니다.
문법
mysql_fetch_array(result, resulttype);
매개변수 설명
| 번호 | 매개변수 및 설명 |
|---|---|
| 1. | result 필수 항목 — mysql_query(), mysql_store_result() 또는 mysql_use_result()가 반환한 결과 집합 식별자를 지정합니다. |
| 2. | resulttype 선택 항목 — 반환될 배열의 형식을 지정합니다. 다음 세 가지 값 중 하나를 사용할 수 있습니다.
|
참고: 최신 PHP 환경에서의 대안
위에서 소개한 mysql_* 계열 함수는 PHP 5.5부터 지원 중단(deprecated)되었으며, PHP 7.0부터는 완전히 제거되었습니다. 따라서 최신 프로젝트에서는 동일한 기능을 제공하는 mysqli_query(), mysqli_fetch_array() 또는 객체 지향 방식인 PDO(PDOStatement::fetch)를 사용하는 것이 좋습니다. 기본 개념과 사용 흐름은 거의 동일하기 때문에 위 내용을 이해하면 새로운 확장 모듈로의 전환도 어렵지 않습니다.