mysqli::use_result

mysqli_use_result

(PHP 5, PHP 7, PHP 8)

mysqli::use_result -- mysqli_use_resultIniciar uma recuperação de conjunto de resultados

Descrição

Estilo orientado a objetos

publicmysqli::use_result(): mysqli_result|false

Estilo procedural

mysqli_use_result(mysqli$mysql): mysqli_result|false

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.

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.

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

Exemplo #1 mysqli::use_result() exemplo

Estilo orientado a objetos

<?php
$mysqli
= new mysqli("localhost", "my_user", "my_password", "world");


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";


if ($mysqli->multi_query($query)) {
do {

if ($result = $mysqli->use_result()) {
while (
$row = $result->fetch_row()) {
printf("%s\n", $row[0]);
}
$result->close();
}

if ($mysqli->more_results()) {
printf("-----------------\n");
}
} while (
$mysqli->next_result());
}


$mysqli->close();
?>

Estilo procedural

<?php
$link
= mysqli_connect("localhost", "my_user", "my_password", "world");


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";


if (mysqli_multi_query($link, $query)) {
do {

if ($result = mysqli_use_result($link)) {
while (
$row = mysqli_fetch_row($result)) {
printf("%s\n", $row[0]);
}
mysqli_free_result($result);
}

if (mysqli_more_results($link)) {
printf("-----------------\n");
}
} while (
mysqli_next_result($link));
}


mysqli_close($link);
?>

Os exemplos acima produzirão:

my_user@localhost ----------------- Amersfoort Maastricht Dordrecht Leiden Haarlemmermeer

Veja Também

To Top