23.8.7.13 mysql_eof()
my_bool mysql_eof(MYSQL_RES *result)
설명
이 함수는 비추천입니다. 대신 mysql_errno()
또는 mysql_error()
를 사용할 수 있습니다.
mysql_eof()
는 결과 집합의 마지막 행을 읽어 있는지 여부를 결정합니다.
mysql_store_result()
에 성공한 호출에서 결과 세트를 취득하는 경우, 클라이언트는 1 번에 세트 전체를받습니다. 이 경우 mysql_fetch_row()
에서 NULL
반환 값은 항상 결과 세트의 끝에 도달하여 mysql_eof()
를 호출 할 필요가 없다는 것을 의미합니다. mysql_store_result()
와 함께 사용하면 mysql_eof()
는 항상 true를 돌려줍니다.
한편, mysql_use_result()
를 사용하여 결과 세트의 취득을 개시하는 경우 mysql_fetch_row()
를 반복 호출하면 세트의 행이 서버에서 하나씩 가져옵니다. 이 과정에서 연결 오류가 발생할 가능성이 있기 때문에 mysql_fetch_row()
에서 NULL
반환 값은 반드시 결과 세트의 끝에 성공적으로 도달했음을 의미한다고는 할 수 없습니다. 이 경우 mysql_eof()
를 사용하여 무엇이 발생했는지를 확인할 수 있습니다. mysql_eof()
결과 세트의 끝에 도달하면 0이 아닌 값을 반환하고 에러가 발생했을 경우에 제로를 돌려줍니다.
역사적으로, mysql_eof()
는 표준 MySQL 에러 함수 mysql_errno()
와 mysql_error()
이전부터 존재하고 있습니다. 그 오류 함수는 동일한 정보를 제공하기 위해, 비추천 인 mysql_eof()
보다 그 사용이 우선됩니다. (사실, 그들은 더 많은 정보를 제공합니다. 오류 함수는 오류가 발생하면 그 이유를 나타내는 반면, mysql_eof()
는 boolean 값 만 반환하기 때문입니다.)
반환 값
성공의 경우는 제로. 결과 세트의 끝에 도달하면 0이 아닌.
오류
없음.
Example
다음의 예는 mysql_eof()
의 사용 방법을 보여줍니다.
mysql_query(&mysql,"SELECT * FROM some_table"); result = mysql_use_result(&mysql); while((row = mysql_fetch_row(result))) { // do something with data } if(!mysql_eof(result)) // mysql_fetch_row() failed due to an error { fprintf(stderr, "Error: %s\n", mysql_error(&mysql)); }
그러나 표준 MySQL 에러 함수에서 동일한 효과를 얻을 수 있습니다.
mysql_query(&mysql,"SELECT * FROM some_table"); result = mysql_use_result(&mysql); while((row = mysql_fetch_row(result))) { // do something with data } if(mysql_errno(&mysql)) // mysql_fetch_row() failed due to an error { fprintf(stderr, "Error: %s\n", mysql_error(&mysql)); }