Mysql
 sql >> Database >  >> RDS >> Mysql

Come separare il primo risultato della query dal resto?

Prova qualcosa come:

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

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

In realtà non hai bisogno di un ciclo per ottenere il primo elemento, quindi puoi riprendere l'iterazione con quello che era il tuo secondo ciclo.

Il problema con

è che se ci sono uno o più risultati nel set di risultati, lo farai sempre chiama $stm1->fetch() due volte:una volta la prima volta che entri nel ciclo, e poi una seconda volta alla seconda iterazione prima di controllare effettivamente quel ($iterator == 1) non è più vero.

Se ci sono solo due risultati nel tuo set di risultati, questo si manifesterà nel secondo ciclo senza essere mai inserito (perché il recupero non avrà alcun risultato rimasto).