English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

PHP mysqli_free_result() 函数用法及示例

PHP MySQLi 참조 매뉴얼

mysqli_free_result()函数释放结果内存。

定义和用法

一个PHP结果对象(mysqli_result类)表示由SELECT或DESCRIBE或EXPLAIN查询返回的MySQL结果。

mysqli_free_result()函数接受一个结果对象作为参数,并释放与它相关联的内存。

语法

mysqli_free_result($result);

参数

序号参数及说明
1

result(必需)

这是表示结果对象的标识符。

返回值

此函数不返回任何值。

PHP版本

此函数最初是在PHP版本5中引入的,并且可以在所有更高版本中使用。

온라인 예제

以下示例演示了mysqli_free_result()函数的用法(面向过程风格),从结果集中获取行,然后释放结果集内存:

<?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\", \"인도\")\
   mysqli_query(\$con, \"INSERT INTO myplayers values(\2, \"Jonathan\", \"Trott\", \"CapeTown\", \"southAfrica\")\
   mysqli_query(\$con, \"INSERT INTO myplayers values(\3, \"Kumara\", \"Sangakkara\", \"Matale\", \"스리랑카\")\
   print("데이터 입력.....\n");
   //검색 테이블의 내용
   \$res \= mysqli_query(\$con, \"SELECT\ * FROM myplayers\
   print("Contents of the resultset...\n");
   //결과 집합의 내용
   while \(\$row \= mysqli_fetch_row(\$res)\) \{
      print("ID: \t\".$row[0]."\n");
      print("이름: \t\".$row[1]."\n");
      print("성: \t\".$row[2]."\n");
      print("출생지: \t\".$row[3]."\n");
      print("국가: \t\".$row[4]."\n");
   }
   //结束语句,释放内存
   mysqli_free_result(\$res);
   //연결을 닫기
   mysqli_close($con);
?>

출력 결과

테이블 생성.....
데이터 입력.....
Contents of the resultset...
ID: 1
First_Name: Sikhar
성: \tDhawan
출생지: \tDelhi
국가: \tIndia
ID: 2
이름: \tJonathan
성: \tTrott
출생지: \tCapeTown
국가: \tSouthAfrica
ID: 3
이름: \tKumara
성: \tSangakkara
출생지: \tMatale
국가: \tSrilanka

결과를 해제한 후에 결과 내용을 가져오려고 시도하면-

\$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\", \"인도\")\
mysqli_query(\$con, \"INSERT INTO myplayers values(\2, \"Jonathan\", \"Trott\", \"CapeTown\", \"southAfrica\")\
mysqli_query(\$con, \"INSERT INTO myplayers values(\3, \"Kumara\", \"Sangakkara\", \"Matale\", \"스리랑카\")\
print("데이터 입력.....\n");
//검색 테이블의 내용
\$res \= mysqli_query(\$con, \"SELECT\ * FROM myplayers\
//문장 종료
mysqli_free_result(\$res);
print("결과 집합의 내용...\n");
//결과 집합의 내용
while \(\$row \= mysqli_fetch_row(\$res)\) \{
   print("ID: \t\".$row[0]."\n");
   print("이름: \t\".$row[1]."\n");
   print("성: \t\".$row[2]."\n");
   print("출생지: \t\".$row[3]."\n");
   print("국가: \t\".$row[4]."\n");
}
//연결을 닫기
mysqli_close($con);

하위와 같은 오류를 받을 수 있습니다

테이블 생성.....
데이터 입력.....
결과 집합의 내용...
PHP 경고: mysqli_fetch_row(): E:\PHPExamples\procedure_oriented.php 파일의 줄 19
경고: mysqli_fetch_row(): E:\PHPExamples\procedure_oriented.php 파일의 줄 19

온라인 예제

객체 지향 스타일에서 이 함수의 문법은$ result-> close();.아래는 이 함수의 객체 지향 스타일 예제입니다;

<?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();
   //행 수
   $count = $result->num_rows;
   print("결과 행 수: ".$count);
   //결과를 닫기
   $result->close();
   //문장 종료
   $stmt->close();
   //연결을 닫기
   $con->close();
?>

출력 결과

테이블 생성.....
결과 행 수: 2

PHP MySQLi 참조 매뉴얼