sql >> Databasteknik >  >> RDS >> Mysql

Hur skiljer man det första resultatet av frågan från resten?

Prova något som:

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

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

Du behöver faktiskt inte en loop för att få det första elementet, och sedan kan du återuppta iterationen med vad som brukade vara din andra loop.

Problemet med

är att om det finns ett eller flera resultat i resultatuppsättningen kommer du alltid anrop $stm1->fetch() två gånger:en gång första gången du går in i loopen och sedan en andra gång vid den andra iterationen innan du faktiskt kontrollerar att ($iterator == 1) är inte längre sant.

Om det bara finns två resultat i din resultatuppsättning, kommer det att visa sig i att den andra slingan aldrig kommer in (eftersom hämtning inte har några resultat kvar).



  1. Behöver hjälp med unpivot i mysql med flera datumkolumner

  2. MySQL-fråga med flera LIMITS

  3. Hur Group_Concat() fungerar i SQLite

  4. Hur man använder Oracle SQL*Plus