"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo puedo utilizar `mysqli_fetch_array()` varias veces en el mismo conjunto de resultados?

¿Cómo puedo utilizar `mysqli_fetch_array()` varias veces en el mismo conjunto de resultados?

Publicado el 2024-11-19
Navegar:757

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

Usar mysqli_fetch_array() varias veces

Al trabajar con bases de datos usando PHP y MySQL, puede encontrarse con una situación en la que necesite acceder a los mismos resultados de consulta más de una vez usando la función mysqli_fetch_array(). Sin embargo, intentar usar mysqli_fetch_array() en el mismo conjunto de resultados varias veces dará como resultado una salida vacía.

Esto se debe a que mysqli_fetch_array() recupera y avanza el puntero en el conjunto de resultados. Por lo tanto, si intentas obtener el mismo resultado nuevamente, no quedarán datos para recuperar.

Para resolver este problema, debes separar la manipulación de datos de la salida. Primero, obtenga todos los datos de la base de datos y guárdelos en una matriz:

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

Nota: Desde PHP 5.3, puedes usar fetch_all() en lugar del bucle explícito:

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

Una vez que haya almacenado los datos en una matriz, puede iterarlo tantas veces como sea necesario:

Fila superior :

foreach ($data as $row) {
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3