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
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.
Nota:
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.
Exemplos
Exemplo #1 Exemplo de mysqli::use_result()
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();
?>
<?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