GNU Info

Info Node: (mysql.info)mysql_eof

(mysql.info)mysql_eof


Next: mysql_errno Prev: mysql_dump_debug_info Up: C API functions
Enter node , (file) or (file)node

`mysql_eof()'
.............

`my_bool mysql_eof(MYSQL_RES *result)'

Description
...........

This function is deprecated.  `mysql_errno()' or `mysql_error()' may be
used instead.

`mysql_eof()' determines whether or not the last row of a result set
has been read.

If you acquire a result set from a successful call to
`mysql_store_result()', the client receives the entire set in one
operation.  In this case, a `NULL' return from `mysql_fetch_row()'
always means the end of the result set has been reached and it is
unnecessary to call `mysql_eof()'.

On the other hand, if you use `mysql_use_result()' to initiate a result
set retrieval, the rows of the set are obtained from the server one by
one as you call `mysql_fetch_row()' repeatedly.  Because an error may
occur on the connection during this process, a `NULL' return value from
`mysql_fetch_row()' does not necessarily mean the end of the result set
was reached normally.  In this case, you can use `mysql_eof()' to
determine what happened.  `mysql_eof()' returns a non-zero value if the
end of the result set was reached and zero if an error occurred.

Historically, `mysql_eof()' predates the standard MySQL error functions
`mysql_errno()' and `mysql_error()'.  Because those error functions
provide the same information, their use is preferred over
`mysql_eof()', which is now deprecated.  (In fact, they provide more
information, because `mysql_eof()' returns only a boolean value whereas
the error functions indicate a reason for the error when one occurs.)

Return Values
.............

Zero if no error occurred. Non-zero if the end of the result set has
been reached.

Errors
......

None.

Example
.......

The following example shows how you might use `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));
     }

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));
     }


automatically generated by info2www version 1.2.2.9