my_bool mysql_eof(MYSQL_RES *result)
Descrição
Esta função está obsoleta. mysql_errno()
ou mysql_error()
podem ser usados em seu
lugar.
mysql_eof()
determina se o último registro
de um resultado foi lido.
Se você buscar um resultado com um chamada
mysql_store_result()
bem sucedida, o
cliente recebe todo o resultado em uma operação. Neste caso,
é um valor NULL
retornado de
mysql_fetch_row()
sempre significa que o
fim do resultado foi atingido e não é necessário chamar
mysql_eof()
. Quando usado com
mysql_store_result()
,
mysql_eof()
sempre retornará verdadeiro.
Por outro lado, se você utilizar
mysql_use_result()
para iniciar um
resultado recuperado, as linhas do conjunto são obtido do
servidor uma a uma, chamando
mysql_fetch_row()
repetidamente. Como pode
ocorrer um erro na conexão durante este processo, um valor
NULL
retornado de
mysql_fetch_row()
não significa,
necessáriaemente, que o fim do resultado fo atingido
normalmente. Neste caso, você pode utilizar
mysql_eof()
para determinar o que
aconteceu. mysql_eof()
retorna um valor
diferente de zero se o fim do resultaod foi atingido e zero se
ocorreu um erro.
Historicamente, mysql_eof()
é preterido
pelas funções de erro padrão do MySQL
mysql_errno()
e
mysql_error()
. Como estas funções de erro
fornecem a mesma informação, o uso das duas últimas é
preferido sobre mysql_eof()
, a qual está
obsoleta. (De fato, elas fornecem mais informações, porque
mysql_eof()
retorna apenas um valor
booleano enquanto as funções de erro indicam uma razão para
a ocorrência do erro quando ele ocorre).
Valor Retornado
Zero se nenhum erro ocorreu. Diferente de zero o fim do resultado foi atingido.
Erros
Nenhum.
Exemplo
Os exemplos seguintes mostram como você deve usar
mysql_eof()
:
mysql_query(&mysql,"SELECT * FROM some_table"); result = mysql_use_result(&mysql); while((row = mysql_fetch_row(result))) { // faz algo com os dados } if(!mysql_eof(result)) // mysql_fetch_row() falha devido a um erro { fprintf(stderr, "Error: %s\n", mysql_error(&mysql)); }
No entanto, você pode conseguir o mesmo efeito com as funções de erro padrões do MySQL:
mysql_query(&mysql,"SELECT * FROM some_table"); result = mysql_use_result(&mysql); while((row = mysql_fetch_row(result))) { // faz algo com os dados } if(mysql_errno(&mysql)) // mysql_fetch_row() falha devido a um erro { fprintf(stderr, "Error: %s\n", mysql_error(&mysql)); }
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.