Mysql
 sql >> Baza danych >  >> RDS >> Mysql

while ($row =mysql_fetch_array($result)) - ile pętli jest wykonywanych?

Nie. mysql_fetch_array po prostu zwraca następny wiersz wyniku i przesuwa wewnętrzny wskaźnik. Nie zapętla się. (Wewnętrznie może, ale nie musi, używać gdzieś pętli, ale to nieistotne).

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

Działa to w następujący sposób:

  1. mysql_fetch_array pobiera i zwraca następny wiersz
  2. wiersz jest przypisany do $row
  3. wyrażenie jest oceniane i jeśli jest oceniane jako true , zawartość pętli jest wykonywana
  4. procedura zaczyna się od nowa

Działa to w następujący sposób:

  1. mysql_fetch_array pobiera i zwraca następny wiersz
  2. wiersz jest przypisany do $row
  3. foreach zapętla zawartość tablicy i wykonuje zawartość pętli tyle razy, ile jest elementów w tablicy

W obu przypadkach mysql_fetch_array robi dokładnie to samo. Masz tylko tyle pętli, ile piszesz. Jednak obie konstrukcje nie robią tego samego. Drugi będzie działał tylko na jednym wierszu wyniku, podczas gdy pierwszy zapętli się na wszystkich wierszach.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. użyj warunku If else w celu wybrania kolumny w mysql?

  2. Jak wywołać echo instrukcji print podczas wykonywania skryptu sql?

  3. Przechowywanie wartości Lat Lng w MySQL przy użyciu Spatial Point Type

  4. MySql:jeśli wartość istnieje AKTUALIZUJ w innym przypadku WSTAW

  5. Używanie Like In MySQL do operacji wyszukiwania przy użyciu wzorca