Maison > base de données > tutoriel mysql > Pourquoi mysqli_fetch_array() échoue-t-il lors d'une utilisation répétée et comment puis-je y remédier ?

Pourquoi mysqli_fetch_array() échoue-t-il lors d'une utilisation répétée et comment puis-je y remédier ?

Patricia Arquette
Libérer: 2024-12-03 04:33:12
original
985 Les gens l'ont consulté

Why Does mysqli_fetch_array() Fail on Repeated Use, and How Can I Fix It?

Résoudre le dilemme mysqli_fetch_array()

Tenter d'utiliser mysqli_fetch_array() plusieurs fois sur le même ensemble de résultats peut entraîner l'inaccessibilité des données. Cela se produit parce que mysqli_fetch_array() consomme le résultat de manière incrémentielle.

Séparation de la manipulation des données

Pour éviter ce problème, séparez la manipulation des données de la sortie. Voici une approche améliorée :

1. Sélection de données

$db_res = mysqli_query($db_link, $sql);
$data = array();
while ($row = mysqli_fetch_array($db_res, MYSQLI_ASSOC)) {
    $data[] = $row;
}
Copier après la connexion

Vous pouvez également utiliser fetch_all() en PHP 5.3 :

$db_res = mysqli_query($db_link, $sql);
$data = $db_res->fetch_all(MYSQLI_ASSOC);
Copier après la connexion

Cette étape récupère l'ensemble des résultats dans un tableau, $data.

2. Utilisation des données

Désormais, vous pouvez parcourir $data plusieurs fois sans affecter l'ensemble de résultats.

Rangée du haut

foreach ($data as $row) {
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal