mysql_fetch()


int mysql_fetch(MYSQL_STMT *stmt)

Descrição

mysql_fetch() retorna o próximo registro no resultado. Ele pode ser chamado apenas enquanto existir o conjunto de resultados. Per exemplo, depois de uma chamada de mysql_execute() que cria o resultado ou depois de mysql_stmt_store_result(), que é chamado depois de mysql_execute() para armazenar todo o resultado.

mysql_fetch retorna os dados de uma linha usando o buffers limitado por mysql_bind_result(). Ele retorna os dados neste buffer para todas as colunas no registro atual e os tamanhos são retornados para o apontador length.

Note que, todas as colunas devem ser limitadas pela aplicação antes de chamar mysql_fetch().

Se um valor do dado buscado é um valor NULL, o valor *is_null da estrutura MYSQL_BIND correspondente contém VERDADEIRO (1). Senão, o dado e seu tamanho é retornado nos elementos *buffer e *length baseados no tipo de buffer especificado pela aplicação. Cada tipo numérico e temporal tem um tamanho fixo como mostrado na tabela a seguir. O tamano dos tipos strings dependem do tasmanho do valor dos dados atual, como indicado por data_length.

Type Length
MYSQL_TYPE_TINY 1
MYSQL_TYPE_SHORT 2
MYSQL_TYPE_LONG 4
MYSQL_TYPE_LONGLONG 8
MYSQL_TYPE_FLOAT 4
MYSQL_TYPE_DOUBLE 8
MYSQL_TYPE_TIME sizeof(MYSQL_TIME)
MYSQL_TYPE_DATE sizeof(MYSQL_TIME)
MYSQL_TYPE_DATETIME sizeof(MYSQL_TIME)
MYSQL_TYPE_STRING tam_dado
MYSQL_TYPE_BLOB tam_dado

Valor Retornado

Valor retornado Descrição
0 Sucesso, o dado foi buscado para o buffers de dados da aplicação.
1 Ocorreu um erro. O código e a mensagem de erro podem ser obtidos chamando mysql_stmt_errno() e mysql_stmt_error().
MYSQL_NO_DATA Não existem mais registros/dados

Erros

Exemplo

O seguinte exemplo demonstra como buscar dados de uma tabela usando mysql_get_metadata(), mysql_bind_result() e mysql_fetch(). (Este exemplo espera recuperar as duas linahs inseridas pelo exemplo mostrado em "mysql_execute()".) A variável MariaDB çonsiderada como um handle de conexão válido handle.

Retornar