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 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(). When used with
mysql_store_result(),
mysql_eof() always returns true.
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 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));
}
Ésta es una traducción del manual de referencia de MySQL, que puede encontrarse en dev.mysql.com. El manual de referencia original de MySQL está escrito en inglés, y esta traducción no necesariamente está tan actualizada como la versión original. Para cualquier sugerencia sobre la traducción y para señalar errores de cualquier tipo, no dude en dirigirse a mysql-es@vespito.com.
