Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wie kann man das erste Ergebnis der Abfrage vom Rest trennen?

Versuchen Sie etwas wie:

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

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

Sie brauchen eigentlich keine Schleife, um das erste Element zu erhalten, und dann können Sie die Iteration mit dem fortsetzen, was früher Ihre zweite Schleife war.

Das Problem mit

Wenn es ein oder mehrere Ergebnisse in der Ergebnismenge gibt, werden Sie immer rufen Sie $stm1->fetch() auf zweimal:einmal, wenn Sie die Schleife zum ersten Mal betreten, und dann ein zweites Mal bei der zweiten Iteration, bevor Sie diesen ($iterator == 1) tatsächlich überprüfen ist nicht mehr wahr.

Wenn es nur zwei Ergebnisse in Ihrer Ergebnismenge gibt, wird sich dies darin manifestieren, dass die zweite Schleife nie eingegeben wird (weil fetch keine Ergebnisse übrig hat).