mysql_bind_result()
my_bool mysql_bind_result(MYSQL_STMT *stmt, MYSQL_BIND *bind)
Descrição
mysql_bind_result()
é usado para associar (ligar) colunas no resultados ao buffer de dados e buffer de tamanho. Quando mysql_fetch()
é chamado para buscar dados, o protocolo cliente/servidor MariaDB os coloca os dados para as colunas limite no buffer especificado.
Note que todas as colunas devem ser limitadas por buffers antes da chamada de mysql_fetch()
. bind
é o endereço de um vetor de estruturas MYSQL_BIND
. A biblioteca cliente espera que o vetor contenha um elemento para cada coluna no resultado. Senão mysql_fetch()
simplesmente ignorado os dados trazidos; os buffers devem se suficientemente grande para guardar os dados, porque o protocolo não retorna dados em blocos.
Uma coluna pode ser limitada a qualquer hora, mesmo depois do resultado ter sido parcialmente recuperado. A nova ligação tem efeito ba próxima vez em que mysql_fetch()
é chamado. Suponha que uma aplicação liga a coluna em um resultado e chama mysql_fetch()
. O protocolo cliente/servidor retorna dados em buffers limitados. Agora suponha que a aplicação ligue a coluna a um diferente cojunto de buffers, então o protocolo não coloca os dados em um novo buffer limitado até que a próxima chamada mysql_fetch()
ocorra.
Para ligar uma coluna, uma aplicação chama mysql_bind_result()
e passa o tipo, o endereço e o endereço do buffer do tamanho. Os membros de cada elemento MYSQL_BIND
que deve ser configurado estão descritos em "Tipos de Dados de Instruções Preparadas da API C".
Valor Retornado
Zero se a ligação obteve sucesso. Diferente de zero se ocorreu um erro.
Erros
CR_NO_PREPARE_STMT
Não existe instruções preparadas
CR_UNSUPPORTED_PARAM_TYPE
A conversão não é suportada. Possivelmente o
buffer_type
é inválido ou não na lista dos tipos de buffers suportadosCR_OUT_OF_MEMORY
Falta de memória
CR_UNKNOWN_ERROR
Ocorreu um erro desconhecido
Exemplo
Para utilizar mysql_bind_result()
consulta o exemplo de "mysql_fetch()
"