Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment séparer le premier résultat de la requête du reste ?

Essayez quelque chose comme :

$results = $stm1->fetch();
print_r($results);

while($results = $stm1->fetch()){
    print_r($results);
}

Vous n'avez pas réellement besoin d'une boucle pour obtenir le premier élément, et vous pouvez ensuite reprendre l'itération avec ce qui était votre deuxième boucle.

Le problème avec

est que s'il y a un ou plusieurs résultats dans le jeu de résultats, vous serez toujours appeler $stm1->fetch() deux fois :une fois la première fois que vous entrez dans la boucle, puis une deuxième fois à la deuxième itération avant de vérifier que ($iterator == 1) n'est plus vrai.

S'il n'y a que deux résultats dans votre ensemble de résultats, cela se manifestera dans la deuxième boucle qui ne sera jamais entrée (car l'extraction n'aura plus aucun résultat).