boolmysql_eof(MYSQL_RES *result) This function is deprecated.mysql_errno() ormysql_error() may be used instead.
mysql_eof() determines whether the last row of a result set has been read.
If you acquire a result set from a successful call tomysql_store_result(), the client receives the entire set in one operation. In this case, aNULL return frommysql_fetch_row() always means the end of the result set has been reached and it is unnecessary to callmysql_eof(). When used withmysql_store_result(),mysql_eof() always returns true.
On the other hand, if you usemysql_use_result() to initiate a result set retrieval, the rows of the set are obtained from the server one by one as you callmysql_fetch_row() repeatedly. Because an error may occur on the connection during this process, aNULL return value frommysql_fetch_row() does not necessarily mean the end of the result set was reached normally. In this case, you can usemysql_eof() to determine what happened.mysql_eof() returns a nonzero value if the end of the result set was reached and zero if an error occurred.
Historically,mysql_eof() predates the standard MySQL error functionsmysql_errno() andmysql_error(). Because those error functions provide the same information, their use is preferred overmysql_eof(), which is deprecated. (In fact, they provide more information, becausemysql_eof() returns only a boolean value whereas the error functions indicate a reason for the error when one occurs.)
The following example shows how you might usemysql_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));}However, you can achieve the same effect with the standard MySQL error functions:
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));}