English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
mysqli_fetch_array() 함수는 결과 집합에서 한 행을 연관 배열로, 숫자 배열로, 또는 둘 다로 가져옵니다.
PHP 결과 객체(mysqli_result 클래스)는 MySQL 결과를 나타내며, SELECT 또는 DESCRIBE 또는 EXPLAIN 쿼리로 반환됩니다.
mysqli_fetch_array() 함수의 역할은: 결과 객체를 매개변수로 받아, 주어진 결과 객체의 현재 행의 내용을 검색하여 연관 배열 또는 숫자 배열로 반환하는 것입니다.
mysqli_fetch_array($result, [$type]);
순번 | 매개변수 및 설명 |
---|---|
1 | result(必需) 이는 결과 객체를 나타내는 식별자입니다. |
2 | type(必需) 이는 반환 배열의 유형을 지정하는 정수 값입니다. 이 type의 값은 다음 중 하나입니다-
|
PHP mysqli_fetch_array() 함수는 배열(연관 배열 또는 숫자 배열)을 반환하며, 이 배열은 결과 객체의 현재 행을 저장합니다. 더 이상 행이 없으면 이 함수는 NULL을 반환합니다.
이 함수는 원래 PHP 버전5에서 도입되었으며 모든 더 높은 버전에서 사용할 수 있습니다.
다음 예제에서 설명됩니다mysqli_fetch_array()함수의 사용 방법(과정 지향적 스타일), 결과 집합에서 행을 숫자 배열 또는 연관 배열로 가져와서 필드 값을 출력합니다:
<?php $con = mysqli_connect("localhost", "root", "password", "mydb"); mysqli_query($con, "CREATE TABLE myplayers(ID INT, First_Name VARCHAR("255), Last_Name VARCHAR(255), Place_Of_Birth VARCHAR(255), Country VARCHAR(255))"); print("테이블 생성.....\n"); mysqli_query($con, "INSERT INTO myplayers values(1, 'Sikhar', 'Dhawan', 'Delhi', 'India')"); mysqli_query($con, "INSERT INTO myplayers values(2, 'Jonathan', 'Trott', 'CapeTown', 'SouthAfrica')"); mysqli_query($con, "INSERT INTO myplayers values(3, 'Kumara', 'Sangakkara', 'Matale', 'Srilanka')"); print("데이터 입력.....\n"); //테이블 내용 검색 $res = mysqli_query($con, "SELECT * FROM myplayers"); //모든 행을 배열로 가져오기 while($row = mysqli_fetch_array($res, MYSQLI_ASSOC)){ print("ID: ".$row["ID"]."\n"); print("First_Name: ".$row["First_Name"]."\n"); print("Last_Name: ").$row["Last_Name"]."\n"; print("Place_Of_Birth: ").$row["Place_Of_Birth"]."\n"; print("Country: ").$row["Country"]."\n"; } //문장 종료 mysqli_free_result($res); //연결 닫기 mysqli_close($con); ?>
결과 출력
테이블 생성..... 데이터 입력..... ID: 1 이름: 시크하르 성: 다완 출생지: 德里 국가: 인도 ID: 2 이름: 조나단 성: 트로트 출생지: 케이프타운 국가: 남아프리카 ID: 3 이름: 쿠마라 성: 산가카라 출생지: 마타레 국가: 스리랑카
객체 지향 스타일에서 이 함수의 문법은$result->fetch_array();。아래는 이 함수의 예제입니다;
<?php //연결 생성 $con = new mysqli("localhost", "root", "password", "mydb"); $con -> query("CREATE TABLE Test(Name VARCHAR(255), Age INT)"); $con -> query("insert into Test values('Raju', 25),('Rahman', 30),('Sarmista', 27); print("테이블 생성.....\n"); $stmt = $con -> prepare("SELECT * FROM Test WHERE Name in(?, ?)"); $stmt -> bind_param("ss", $name1, $name2); $name1 = 'Raju'; $name2 = 'Rahman'; //수행 문장 $stmt->execute(); //검색 결과 $result = $stmt->get_result(); //모든 행을 배열로 가져오기 while($row = $result->fetch_array(MYSQLI_ASSOC)){ print("Name: ").$row["Name"]."\n"; print("Age: ").$row["Age"]."\n"; } //문장 종료 $stmt->close(); //연결 닫기 $con->close(); ?>
결과 출력
테이블 생성..... Name: Raju Age: 25 Name: Rahman Age: 30
결과 행의 내용을 숫자 배열로 검색할 수도 있습니다:
<?php $con = mysqli_connect("localhost", "root", "password", "mydb"); mysqli_query($con, "CREATE TABLE myplayers(ID INT, First_Name VARCHAR("255), Last_Name VARCHAR(255), Place_Of_Birth VARCHAR(255), Country VARCHAR(255))"); print("테이블 생성.....\n"); mysqli_query($con, "INSERT INTO myplayers values(1, 'Sikhar', 'Dhawan', 'Delhi', 'India')"); mysqli_query($con, "INSERT INTO myplayers values(2, 'Jonathan', 'Trott', 'CapeTown', 'SouthAfrica')"); mysqli_query($con, "INSERT INTO myplayers values(3, 'Kumara', 'Sangakkara', 'Matale', 'Srilanka')"); print("데이터 입력.....\n"); //테이블 내용 검색 $res = mysqli_query($con, "SELECT * FROM myplayers"); //모든 행을 배열로 가져오기 while($row = mysqli_fetch_array($res, MYSQLI_NUM)){ print("ID: ".$row[0]."\n"); print("이름: ".$row[1]."\n"); print("성: ".$row[2]."\n"); print("출생지: ".$row[3]."\n"); print("국가: ".$row[4]."\n"); } //문장 종료 mysqli_free_result($res); //연결 닫기 mysqli_close($con); ?>
결과 출력
테이블 생성..... 데이터 입력..... ID: 1 이름: 시크하르 성: 다완 출생지: 德里 국가: 인도 ID: 2 이름: 조나단 성: 트로트 출생지: 케이프타운 국가: 남아프리카 ID: 3 이름: 쿠마라 성: 산가카라 출생지: 마타레 국가: 스리랑카