mysqli::use_result
mysqli_use_result
(PHP 5, PHP 7, PHP 8)
mysqli::use_result -- mysqli_use_result — Iniciar uma recuperação de conjunto de resultados
Descrição
Estilo orientado a objetos
Estilo procedural
Usado para iniciar a recuperação de um conjunto de resultados da última consulta executada usando a função mysqli_real_query() na conexão com o banco de dados.
Esta ou a função mysqli_store_result() deve ser chamada antes que os resultados de uma consulta possam ser recuperados, e uma ou outra deve ser chamada para evitar que a próxima consulta nessa conexão com o banco de dados falhe.
Note:
A função mysqli_use_result() não transfere todo o conjunto de resultados do banco de dados e, portanto, não pode ser usada funções como mysqli_data_seek() para mover para uma linha específica dentro do conjunto. Para usar esta funcionalidade, o conjunto de resultados deve ser armazenado usando mysqli_store_result(). Não se deve usar mysqli_use_result() se for feito muito processamento no lado do cliente, pois isso irá sobrecarregar o servidor e evitar que outras threads atualizem quaisquer tabelas das quais os dados estão sendo buscados.
Parâmetros
Esta função não possui parâmetros.
Valor Retornado
Retorna um objeto de resultado sem buffer ou false
se ocorreu um erro.
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.
Exemplos
Example #1 mysqli::use_result() exemplo
Estilo orientado a objetos
<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");
/* verifique a conexão */
if (mysqli_connect_errno()) {
printf("Falha na conexão: %s\n", mysqli_connect_error());
exit();
}
$query = "SELECT CURRENT_USER();";
$query .= "SELECT Name FROM City ORDER BY ID LIMIT 20, 5";
/* executar várias consultas */
if ($mysqli->multi_query($query)) {
do {
/* armazenar primeiro conjunto de resultados */
if ($result = $mysqli->use_result()) {
while ($row = $result->fetch_row()) {
printf("%s\n", $row[0]);
}
$result->close();
}
/* divisor de impressão */
if ($mysqli->more_results()) {
printf("-----------------\n");
}
} while ($mysqli->next_result());
}
/* fecha a conexão */
$mysqli->close();
?>
Estilo procedural
<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");
/* verifique a conexão */
if (mysqli_connect_errno()) {
printf("Falha na conexão: %s\n", mysqli_connect_error());
exit();
}
$query = "SELECT CURRENT_USER();";
$query .= "SELECT Name FROM City ORDER BY ID LIMIT 20, 5";
/* executar várias consultas */
if (mysqli_multi_query($link, $query)) {
do {
/* armazenar primeiro conjunto de resultados */
if ($result = mysqli_use_result($link)) {
while ($row = mysqli_fetch_row($result)) {
printf("%s\n", $row[0]);
}
mysqli_free_result($result);
}
/* divisor de impressão */
if (mysqli_more_results($link)) {
printf("-----------------\n");
}
} while (mysqli_next_result($link));
}
/* fecha a conexão */
mysqli_close($link);
?>
Os exemplos acima produzirão:
my_user@localhost ----------------- Amersfoort Maastricht Dordrecht Leiden Haarlemmermeer
Veja Também
- mysqli_real_query() - Executa uma consulta SQL
- mysqli_store_result() - Transfere um conjunto de resultados da última consulta