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

while ($row =mysql_fetch_array($result)) - kolik smyček se provádí?

Ne. mysql_fetch_array pouze vrátí další řádek výsledku a posune vnitřní ukazatel. Nezacyklí se. (Interně může nebo nemusí někde používat nějakou smyčku, ale to je irelevantní.)

while ($row = mysql_fetch_array($result)) {
   ...
}

To provede následující:

  1. mysql_fetch_array načte a vrátí další řádek
  2. řádek je přiřazen k $row
  3. výraz je vyhodnocen a pokud je vyhodnocen jako true , provede se obsah cyklu
  4. postup začíná znovu

To provede následující:

  1. mysql_fetch_array načte a vrátí další řádek
  2. řádek je přiřazen k $row
  3. foreach zacyklí obsah pole a provede obsah cyklu tolikrát, kolikrát je položek v poli

V obou případech mysql_fetch_array dělá přesně to samé. Máte jen tolik smyček, kolik píšete. Oba konstrukty však nedělají totéž. Druhý bude působit pouze na jeden řádek výsledku, zatímco první bude smyčkou přes všechny řádky.



  1. SQL Connection s veřejnou IP, pojmenovanou instancí a číslem portu

  2. Jak upgradovat PostgreSQL10 na PostgreSQL11 s nulovými výpadky

  3. Tipy k tabulce Microsoft Access – triky a pokyny, část 2

  4. Kořenový přístup k MySQL ze všech hostitelů