sql >> Databáze >  >> RDS >> Mysql

Jak oddělit první výsledek dotazu od zbytku?

Zkuste něco jako:

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

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

K získání prvního prvku vlastně nepotřebujete smyčku, a pak můžete pokračovat v iteraci s tím, co bývalo vaší druhou smyčkou.

Problém s

je, že pokud je v sadě výsledků jeden nebo více výsledků, budete vždy volání $stm1->fetch() dvakrát:jednou při prvním vstupu do smyčky a podruhé při druhé iteraci, než skutečně zkontrolujete, že ($iterator == 1) již není pravda.

Pokud jsou ve vaší sadě výsledků pouze dva výsledky, projeví se to v druhé smyčce, která nebude nikdy zadána (protože načtení nezůstane žádné výsledky).



  1. Jak mohu nahrát jednotlivé řádky CSV do různých tabulek v PHP?

  2. java.lang.NullPointerException na adrese com.mysql.jdbc.ConnectionImpl.getServerCharset(ConnectionImpl.java:3005)

  3. MariaDB JSON_QUOTE() Vysvětleno

  4. PHP/MySQL časové razítko a časová pásma