mysqli::store_result

(PHP 5, PHP 7, PHP 8)

mysqli::store_result -- mysqli_store_result — 마지막 쿼리의 결과 집합을 전송합니다.


설명

객체 지향 스타일

public mysqli::store_result(int $mode = 0): mysqli_result|false

절차적 스타일

mysqli_store_result(mysqli $mysql, int $mode = 0): mysqli_result|false

mysqli_data_seek() 함수와 함께 사용할 mysql 매개변수가 나타내는 데이터베이스 연결에 대한 마지막 쿼리의 결과 집합을 전송합니다.


매개변수

mysql
절차적 스타일 전용: mysqli_connect() 또는 mysqli_init()에 의해 반환된 mysqli 객체
mode
설정하려는 옵션입니다. 다음 값 중 하나일 수 있습니다.

유효한 옵션

이름 설명
MYSQLI_STORE_RESULT_COPY_DATA 내부 mysqlnd 버퍼에서 가져온 PHP 변수로 결과를 복사합니다. 기본적으로 mysqlnd는 메모리에 저장된 결과를 복사 및 복제하는 것을 피하기 위해 참조 논리를 사용합니다. 특정 결과 세트, 예를 들어 많은 작은 행이 있는 결과 세트의 경우, 결과를 보유하는 PHP 변수가 더 일찍 릴리스될 수 있기 때문에 복사 접근 방식은 전체 메모리 사용량을 줄일 수 있습니다(mysqlnd에서만 사용 가능).

반환 값

버퍼링된 결과 개체를 반환하거나 오류가 발생한 경우 false를 반환합니다.

메모:

mysqli_store_result()는 쿼리가 결과 집합을 반환하지 않은 경우(예: 쿼리가 INSERT 문인 경우) false를 반환합니다. 이 함수는 결과 집합 읽기에 실패한 경우에도 false를 반환합니다. mysqli_error()가 빈 문자열을 반환하지 않는지, mysqli_errno()가 0이 아닌 값을 반환하는지, 또는 mysqli_field_count()가 0이 아닌 값을 반환하는지 확인하여 오류가 발생했는지 확인할 수 있습니다. 또한 mysqli_query()에 대한 성공적인 호출 후에 이 함수가 false를 반환하는 가능한 이유는 너무 큰 결과 세트(메모리를 할당할 수 없음)일 수 있습니다. mysqli_field_count()가 0이 아닌 값을 반환하면 명령문은 비어 있지 않은 결과 세트를 생성해야 합니다.


Examples

mysqli_multi_query()를 참조하십시오.


노트

메모: mysqli_free_result() 함수를 사용하여 쿼리 결과에 사용된 메모리를 해제하는 것이 항상 좋은 방법이지만, mysqli_store_result()를 사용하여 큰 결과 세트를 전송할 때 이것은 특히 중요합니다.


기타