mysql_eof()
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 MariaDB 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 MariaDB: