23.8.11.5 mysql_stmt_bind_result()
my_bool mysql_stmt_bind_result(MYSQL_STMT *stmt,
MYSQL_BIND *bind)
설명
mysql_stmt_bind_result()
는 결과 집합의 출력 컬럼을 데이터 버퍼 및 길이 버퍼와 연관 (즉 바인딩)에 사용합니다. mysql_stmt_fetch()
가 데이터를 가져 오기 위해 호출되면, MySQL 클라이언트 / 서버 프로토콜은 바인딩 된 컬럼의 데이터를 지정된 버퍼에 배치합니다.
mysql_stmt_fetch()
를 호출하기 전에 모든 컬럼을 버퍼에 바인드되어 있어야합니다. bind
는 MYSQL_BIND
구조의 배열의 주소입니다. 클라이언트 라이브러리는 배열에 결과 집합의 열마다 하나의 요소가 포함되는 것을 기대합니다. 열을 MYSQL_BIND
구조에 바인딩하지 않는 경우, mysql_stmt_fetch()
는 단순히 데이터 가져 오기를 무시합니다. 프로토콜은 정리해 데이터 값을 반환하지 않으므로 버퍼는 데이터 값을 저장할 수있는 충분한 크기가 있어야합니다.
결과 세트가 부분적으로 취득 된 후에도 열 언제든지 바인드 또는 리 바인드 할 수 있습니다. 새로운 바인딩 작업은 다음 mysql_stmt_fetch()
가 불려 갔을 때 적용됩니다. 응용 프로그램이 결과 집합의 열을 바인드하고 mysql_stmt_fetch()
를 호출한다고합니다. 클라이언트 / 서버 프로토콜은 바인딩 된 버퍼에 데이터를 반환합니다. 그러면 응용 프로그램이 컬럼을 다른 일련의 버퍼에 바인딩하는 것으로합니다. mysql_stmt_fetch()
에 대한 다음 호출시에, 프로토콜은 새로운 바인드 된 버퍼에 데이터를 배치합니다.
열을 바인딩하려면 응용 프로그램에서 mysql_stmt_bind_result()
를 호출하여 값을 저장하는 출력 버퍼의 형태, 주소 및 길이를 전달합니다. 섹션 23.8.9 "C API 준비된 문 데이터 구조" 에 각 MYSQL_BIND
요소 일원 및 출력 값을 받기 위하여 설정하는 방법을 설명합니다.
반환 값
성공의 경우는 제로. 오류가 발생한 경우 0이 아닌.
오류
CR_UNSUPPORTED_PARAM_TYPE
변환은 지원되지 않습니다.
buffer_type
값은 올바르지 않거나 지원되는 어떤 형태로도 없을 수 있습니다.CR_OUT_OF_MEMORY
메모리 부족.
CR_UNKNOWN_ERROR
알 수없는 오류가 발생했습니다.
Example
섹션 23.8.11.11 "mysql_stmt_fetch ()" 의 예를 참조하십시오.