"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como posso usar `mysqli_fetch_array()` várias vezes no mesmo conjunto de resultados?

Como posso usar `mysqli_fetch_array()` várias vezes no mesmo conjunto de resultados?

Publicado em 19/11/2024
Navegar:133

How Can I Use `mysqli_fetch_array()` Multiple Times on the Same Resultset?

Usando mysqli_fetch_array() várias vezes

Ao trabalhar com bancos de dados usando PHP e MySQL, você pode encontrar uma situação em que precisa acessar os mesmos resultados de consulta mais de uma vez usando a função mysqli_fetch_array(). No entanto, tentar usar mysqli_fetch_array() no mesmo conjunto de resultados várias vezes resultará em uma saída vazia.

Isso ocorre porque mysqli_fetch_array() busca e avança o ponteiro no conjunto de resultados. Assim, se você tentar buscar o mesmo resultado novamente, não haverá mais dados para recuperar.

Para resolver esse problema, você deve separar a manipulação de dados da saída. Primeiro, busque todos os dados do banco de dados e armazene-os em um array:

$db_res = mysqli_query($db_link, $sql);
$data = [];
while ($row = mysqli_fetch_assoc($db_res)) {
    $data[] = $row;
}

Nota: Desde o PHP 5.3, você pode usar fetch_all() em vez do loop explícito:

$db_res = mysqli_query($db_link, $sql);
$data = $db_res->fetch_all(MYSQLI_ASSOC);

Depois de armazenar os dados em um array, você pode iterá-los quantas vezes forem necessárias:

Linha superior :

foreach ($data as $row) {
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3