Maison > base de données > tutoriel mysql > Comment puis-je réinitialiser les pointeurs de tableau dans PDO après avoir récupéré les résultats MySQL ?

Comment puis-je réinitialiser les pointeurs de tableau dans PDO après avoir récupéré les résultats MySQL ?

Susan Sarandon
Libérer: 2024-11-28 21:06:13
original
1044 Les gens l'ont consulté

How Can I Reset Array Pointers in PDO After Fetching MySQL Results?

Gestion des pointeurs de tableau dans les résultats PDO

Lors de la transition de MySQL vers PDO, la gestion des pointeurs de tableau pour naviguer dans les résultats peut être difficile. Pour parcourir efficacement un tableau récupéré plusieurs fois, en commençant à chaque fois à partir de la ligne zéro, envisagez la technique suivante.

PDO ne fournit pas d'équivalent direct à la fonction MySQL mysql_data_seek() pour réinitialiser le pointeur du tableau. Cependant, vous pouvez stocker les résultats récupérés dans un tableau et le parcourir autant de fois que nécessaire.

Voici un extrait de code mis à jour qui illustre cette approche :

$pdo = new PDO('mysql:host=' . $host . ';dbname='.$database, $username, $password);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

$stmt = $pdo->prepare('SELECT * FROM mytable WHERE active = 1 ORDER BY name ASC');
$stmt->setFetchMode(PDO::FETCH_ASSOC);
$stmt->execute();

$rows = $stmt->fetchAll();

foreach ($rows as $r) {
  // First run of the loop, starting from row zero
}

foreach ($rows as $r) {
  // Second run of the loop, starting from row zero again
}
Copier après la connexion

En enregistrant les résultats au tableau $rows, vous pouvez le parcourir indépendamment plusieurs fois, en vous assurant que chaque boucle commence à la ligne zéro.

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!

source:php.cn
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