23.8.11.17 mysql_stmt_next_result()
int mysql_stmt_next_result(MYSQL_STMT *mysql)
설명
이 함수는 여러 결과 집합을 반환 할 수있는 준비된 CALL
문을 사용하여 저장 프로 시저를 실행하는 경우에 사용합니다. mysql_stmt_next_result()
를 호출하는 루프를 사용하여 그 이상의 결과가 있는지를 판단합니다. 프로 시저에 OUT
또는 INOUT
매개 변수가있는 경우, 그 값은 다른 결과 세트에 이어 단일 행 결과 집합으로 반환됩니다. 값은 프로 시저 매개 변수 목록에 선언 된 순서대로 표시됩니다.
mysql_stmt_next_result()
는 그 이상의 결과가 존재하는지 여부를 나타내는 상태를 반환합니다. mysql_stmt_next_result()
가 오류를 반환하면 그 이상의 결과가 없습니다.
mysql_stmt_next_result()
의 각 호출하기 전에 현재의 결과에서 결과 집합 (결과의 상태뿐만 아니라)이 생성 된 경우, 현재의 결과에 대해 mysql_stmt_free_result()
를 호출 할 필요가 있습니다.
mysql_stmt_next_result()
를 호출 한 뒤 연결 상태는 mysql_stmt_execute()
를 호출했을 경우의 수 있습니다. 이것은 mysql_stmt_bind_result()
, mysql_stmt_affected_rows()
등을 호출 할 수 있다는 것을 의미합니다.
mysql_more_results()
를 호출 해, 그 이상의 결과가 있는지를 테스트 할 수 있습니다. 그러나이 함수는 연결 상태를 변경하지 않기 때문에 그것이 true를 반환하면 더욱 mysql_stmt_next_result()
를 호출하여 다음과 같은 결과를 진행할 필요가 있습니다.
mysql_stmt_next_result()
의 사용 방법을 보여주는 예제는 섹션 23.8.20 "C API의 준비된 CALL 문 지원" 을 참조하십시오.
반환 값
반환 값 | 설명 |
---|---|
0 | 성공 그 이상의 결과가 있습니다 |
-1 | 성공 그 이상의 결과가 존재하지 않습니다 |
>0 | 오류가 발생했습니다 |
오류
CR_COMMANDS_OUT_OF_SYNC
명령이 잘못된 순서로 실행되었습니다.
CR_SERVER_GONE_ERROR
MySQL 서버가 존재하지 않습니다.
CR_SERVER_LOST
서버에 대한 연결이 쿼리 중에 손실되었습니다.
CR_UNKNOWN_ERROR
알 수없는 오류가 발생했습니다.