
mysqli_result::free 함수는 MySQLi extension에서 사용하는 결과 객체를 해제하는 함수입니다.
이 함수를 호출하는 이유는 MySQLi extension에서 결과 객체를 사용한 후에 반드시 해제해야 하기 때문입니다.
해제하지 않으면 MySQLi extension의 리소스가 계속해서 사용되어 메모리 누수 및 성능 저하가 발생할 수 있습니다.
mysqli_result::free 함수는 내부적으로 MySQLi extension의 결과 객체를 해제하고, 메모리를 해제하는 작업을 수행합니다.
해제하지 않은 결과 객체를 다시 사용하려고 하면, PHP에서 에러가 발생할 수 있습니다.
따라서, 결과를 사용한 후에 반드시 mysqli_result::free 함수를 호출하여 결과 객체를 해제해야 합니다.
예를 들어, 다음 코드는 결과를 사용한 후에 해제하지 않은 채로 다시 사용하려고 하므로, PHP에서 에러가 발생합니다.
#hostingforum.kr
php
$result = $mysqli->query("SELECT * FROM 테이블");
$data = $result->fetch_assoc();
$result->free(); // 해제하지 않은 채로 다시 사용하려고 함
$result->fetch_assoc(); // 에러 발생
해제를 수행한 후의 예제는 다음과 같습니다.
#hostingforum.kr
php
$result = $mysqli->query("SELECT * FROM 테이블");
$data = $result->fetch_assoc();
$result->free(); // 해제
2025-07-28 06:47