Transfere um conjunto de resultados da última consulta

# mysqli::store_result

# mysqli_store_result

(PHP 5, PHP 7, PHP 8)

mysqli::store_result -- mysqli_store_result — Transfere um conjunto de resultados da última consulta

### Descrição

Estilo orientado a objetos

public function mysqli::store_result(int `$mode` = 0): mysqli_result|false

Estilo procedural

function mysqli_store_result(mysqli `$mysql`, int `$mode` = 0): mysqli_result|false

Transfere o conjunto de resultados da última consulta na conexão do banco de dados representada pelo parâmetro `mysql` para ser usado com a função mysqli_data_seek().

### Parâmetros

`mysql`
  Somente no estilo procedural: Um objeto mysqli retornado por mysqli_connect() ou mysqli_init()
`mode`

  A opção que você deseja definir. A partir do PHP 8.1, este parâmetro não tem efeito. Pode ser um dos seguintes valores:

  Valid options
  Nome | Descrição
  --- | ---
  `MYSQLI_STORE_RESULT_COPY_DATA` | Copia os resultados do buffer mysqlnd interno nas variáveis PHP buscadas. Por padrão, o mysqlnd usará uma lógica de referência para evitar copiar e duplicar os resultados mantidos na memória. Para certos conjuntos de resultados, por exemplo, conjuntos de resultados com muitas linhas pequenas, a abordagem de cópia pode reduzir o uso geral de memória porque as variáveis PHP que contêm resultados podem ser liberadas mais cedo (disponível apenas com mysqlnd)

### Valor Retornado

Retorna um objeto de resultado armazenado em buffer ou `false` se ocorreu um erro.

> Nota:

> mysqli_store_result() retorna `false` caso a consulta não retorne um conjunto de resultados (se a consulta for, por exemplo, uma instrução INSERT). Esta função também retorna `false` se a leitura do conjunto de resultados falhou. Você pode verificar se houve um erro verificando se mysqli_error() não retorna uma string vazia, se mysqli_errno() retorna um valor diferente de zero ou se mysqli_field_count() retorna um valor diferente de zero. Além disso, a possível razão para esta função retornar `false` após uma chamada bem-sucedida para mysqli_query() pode ser um conjunto de resultados muito grande (a memória para ele não pode ser alocada). Se mysqli_field_count() retornar um valor diferente de zero, a instrução deve ter produzido um conjunto de resultados não vazio.

### Erros/Exceções

Se o relatório de erros da extensão mysqli estiver habilitado (`MYSQLI_REPORT_ERROR`) e a operação solicitada falhar, um aviso será gerado. Se, além disso, o modo for definido como `MYSQLI_REPORT_STRICT`, uma exceção mysqli_sql_exception será lançada em vez do aviso.

### Registro de Alterações

Versão | Descrição
--- | ---
8.4.0 | Passar o parâmetro `mode` foi descontinuado. O parâmetro já não tem efeito a partir do PHP 8.1.0.

### Exemplos

Veja mysqli_multi_query().

### Notas

> Nota:

> Embora seja sempre uma boa prática liberar a memória usada pelo resultado de uma consulta usando a função mysqli_free_result(), ao transferir grandes conjuntos de resultados usando mysqli_store_result() isso se torna particularmente importante.

### Veja Também

- mysqli_real_query() - Executa uma consulta SQL
- mysqli_use_result() - Iniciar uma recuperação de conjunto de resultados

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open