Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como separar o primeiro resultado da consulta do resto?


Tente algo como:
$results = $stm1->fetch();
print_r($results);

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

Na verdade, você não precisa de um loop para obter o primeiro elemento e, em seguida, pode retomar a iteração com o que costumava ser seu segundo loop.

O problema com

é que se houver um ou mais resultados no conjunto de resultados, você sempre chamar $stm1->fetch() duas vezes:uma vez na primeira vez que você entrar no loop, e então uma segunda vez na segunda iteração antes de realmente verificar se ($iterator == 1) não é mais verdade.

Se houver apenas dois resultados em seu conjunto de resultados, isso se manifestará no segundo loop nunca sendo inserido (porque a busca não terá nenhum resultado restante).